列表和元组

Python内建6种序列,最常用的是列表和元组,其他有字符串、Unicode字符串、buffer对象和xrange对象。

 

列表和元组的主要区别是,列表可以修改,元组则不能。一般来说,在几乎所有的情况下列表都可以代替元组,例外的情况是,使用元组作为字典的键,因为键不能修改。

 

通用序列操作

所有序列类型都可以进行某些特定的操作,包括索引(indexing)、分片(sliceing)、加(adding)、乘(multiplying)以及检查某个元素是否属于序列的成员,计算序列长度、找出最大元素、最小元素。

索引:

>>>greeting = "Hello"

>>>greeting[2]

'l'

>>>greeting[0]

'H'

 

分片:

>>> numbers= [1,2,3,4,5,6,7,8,9,0]

>>>numbers[1:3]

[2, 3]

>>>numbers[:]

[1, 2, 3, 4, 5, 6,7, 8, 9, 0]

>>>numbers[-5:-1]

[6, 7, 8, 9]

>>>numbers[-2:]

[9, 0]

>>>numbers[0:9:2]

[1, 3, 5, 7, 9]

>>>numbers[9:5:-1]

[0, 9, 8, 7]

 

序列相加:

>>>n1=[1,2,3,4,5]

>>>n2=[6,7,8,9,0]

>>> n1 + n2

[1, 2, 3, 4, 5, 6,7, 8, 9, 0]

>>> 'Hello,' + 'World!'

'Hello, World!'

 

乘法:

>>> [10] *5

[10, 10, 10, 10, 10]

>>>'Hello_' * 5

'Hello_Hello_Hello_Hello_Hello_'

 

成员资格:

>>>greeting = 'Hello'

>>> 'H' ingreeting

True

>>> 'h' ingreeting

False

>>> users =['Tom', 'Jerry', 'Jack']

>>>raw_input("Please input your name: ") in users

Please input yourname: Tom

True

 

长度、最小值、最大值

>>> num =[1,10,20,30,40]

>>>len(num)

5

>>>max(num)

40

>>>min(num)

1

 

 

列表中的方法

1list函数

>>>list('Hello, World')

['H', 'e', 'l', 'l','o', ',', ' ', 'W', 'o', 'r', 'l', 'd']

>>>list('12345')

['1', '2', '3', '4','5']

 

2、元素赋值

>>> num =[6,3,4,5]

>>> num[0]= 1

>>> num

[1, 3, 4, 5]

 

>>>num[1:1] = [2]

>>> num

[1, 2, 3, 4, 5]

 

3、删除元素

>>> users =['Tom', 'Jerry', 'Jack']

>>> delusers[0]

>>> users

['Jerry', 'Jack']

 

4append

在列表末尾追加新的对象

>>> num =[1,2,3]

>>>num.append(4)

>>> num

[1, 2, 3, 4]

 

5count

统计某个元素在列表中出现的次数

>>>word=['to', 'be', 'or', 'not', 'to', 'be']

>>>word.count('to')

2

 

6extend

在列表的末尾追加另一个序列中的多个值

>>> n1 =[1,2,3]

>>> n2 =[4,5,6]

>>>n1.extend(n2)

>>> n1

[1, 2, 3, 4, 5, 6]

>>> n2

[4, 5, 6]

 

7index

找出某个值第一个匹配项的索引位置

>>>word=['to', 'be', 'or', 'not', 'to', 'be']

>>>word.index('be')

1

 

8insert

将对象插入列表

>>> disney= ['Tom', 'Jerry']

>>>disney.insert(1,'and')

>>> disney

['Tom', 'and','Jerry']

 

9pop

移除列表中的一个元素(默认是是最后一个),并且返回该元素的值。

>>> x =[1,2,3,4,5]

>>> x.pop

<built-in methodpop of list object at 0x02BAF850>

>>> x.pop()

5

>>> x.pop()

4

 

10remove

移除列表中某个值的第一个匹配项

>>>word=['to', 'be', 'or', 'not', 'to', 'be']

>>>word.remove('be')

>>> word

['to', 'or', 'not','to', 'be']

 

11reverse

将列表中的元素顺序反转

>>> x =[0,1,2,3,4,5]

>>>x.reverse()

>>> x

[5, 4, 3, 2, 1, 0]

 

12sort

在原位置对列表进行排序

>>> st =[23,78,99,10,5]

>>>st.sort()

>>> st

[5, 10, 23, 78, 99]

 

获取已排序列表的副本

>>> x =[23,78,99,10,5]

>>> y =sorted(x)

>>> x

[23, 78, 99, 10, 5]

>>> y

[5, 10, 23, 78, 99]

 

 

13、用列表做堆栈(“last-in, first-out”)后进先出

>>> stack =[3, 4, 5]

>>>stack.append(6)

>>>stack.append(7)

>>> stack

[3, 4, 5, 6, 7]

>>>stack.pop()

7

>>>stack.pop()

6

>>> stack

[3, 4, 5]

 

 

14、用列表做队列(“first-in,first-out”)先进先出

>>> fromcollections import deque

>>> queue =deque(["Eric", "John", "Michael"])

>>>queue.append("Terry")

>>>queue.append("Graham")

>>> queue

deque(['Eric','John', 'Michael', 'Terry', 'Graham'])

>>>queue.popleft()

'Eric'

>>>queue.popleft()

'John'

>>> queue

deque(['Michael','Terry', 'Graham'])

>>>queue.appendleft("Dec")

>>> queue

deque(['Dec','Michael', 'Terry', 'Graham'])

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值