Python3学习 笔记(五):列表和元组

一、列表


列表是可变的--可以改变列表的内容

list函数可以把各种类型的序列拆分列表

>>> list('Hello')
['H', 'e', 'l', 'l', 'o']

二、列表的基本操作


1、改变列表:元素赋值

利用索引给列表中的元素赋值

>>> x=[1,2,3,4]
>>> x[2]=18
>>> x
[1, 2, 18, 4]
>>> x[6]=20
Traceback (most recent call last):
  File "<pyshell#5>", line 1, in <module>
    x[6]=20
IndexError: list assignment index out of range

不能为一个位置不存在的元素赋值

2、删除元素

从列表中删除元素,可以使用del语句来实现

>>> names=['Alice','Beth','Cecil','Dee-Dee','Earl']
>>> del names[2]
>>> names
['Alice', 'Beth', 'Dee-Dee', 'Earl']

3、分片赋值

>>> name=list('Perl')
>>> name
['P', 'e', 'r', 'l']
>>> name[2:]=list('ar')
>>> name
['P', 'e', 'a', 'r']

可以使用与原序列不等长的序列将分片替换:

>>> name=list('Perl')
>>> name
['P', 'e', 'r', 'l']
>>> name[1:]=list('ython')
>>> name
['P', 'y', 't', 'h', 'o', 'n']

还可以不需要替换任何原有元素的情况下插入新的元素:

>>> numbers=[1,5]
>>> numbers[1:1]=[2,3,4]
>>> numbers
[1, 2, 3, 4, 5]

通过分片赋值来删除元素:

>>> numbers=[1,2,3,4,5]
>>> numbers[1:4]=[]
>>> numbers
[1, 5]

三、列表方法

1、append

用于在列表末尾追加新的对象:

>>> abc=[1,2,3]
>>> abc.append(4)
>>> abc
[1, 2, 3, 4]

2、count

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

>>> ['to','be','or','not','to','be'].count('to')
2
>>> x=[[1,2],1,1,[2,1,[1,2]]]
>>> x.count(1)
2
>>> x.count([1,2])
1

3、extend

在列表的末尾一次性追加另一个序列中的多个值,用新列表扩展原有列表

>>> a=[1,2,3]
>>> b=[4,5,6]
>>> a.extend(b)
>>> a
[1, 2, 3, 4, 5, 6]

4、index

用于从列表中找出某个值第一个匹配项的索引值

>>> knights=['We','are','the','knights','who','say','ni']
>>> knights.index('who')
4
>>> knights[4]
'who'

5、insert

用于将对象插入到列表中

>>> numbers=[1,2,3,5,6,7]
>>> numbers.insert(3,'four')
>>> numbers
[1, 2, 3, 'four', 5, 6, 7]

6、pop

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

>>> x=[1,2,3]
>>> x.pop()
3
>>> x
[1, 2]
>>> x.pop(0)
1
>>> x
[2]

7、remove

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

>>> x=['to','be','or','not','to','be']
>>> x.remove('be')
>>> x
['to', 'or', 'not', 'to', 'be']

8、reverse

将列表中的元素反向存放

>>> x=[1,2,3]
>>> x.reverse()
>>> x
[3, 2, 1]

9、sort

在原位置对列表进行排序,“在原位置排序”意味着改变了原来的列表,让其中的元素按一定顺序排序

>>> x=[4,6,2,1,7,9]
>>> x.sort()
>>> x
[1, 2, 4, 6, 7, 9]

四、元组:不可变序列


元组与列表一样,也是一种序列。唯一的不同是元组不能改变。创建元组的语法很简单:如果你用逗号分割了一些值,那么你就自动创建了元组。

>>> 1,2,3
(1, 2, 3)
>>> (1,2,3) # 用括号表示元组
(1, 2, 3)
>>> () # 空元组
()

如何实现包含一个值的元组呢?方法有点奇特----必须加逗号,即使只有一个值:

>>> 42
42
>>> 42,
(42,)
>>> (42,)
(42,)

>>> 3*(40+2)
126
>>> 3*(40+2,)
(42, 42, 42)

tuple函数

tuple函数的功能与list函数基本上一样:以一个序列作为参数并把它转换为元组。

>>> tuple([1,2,3])
(1, 2, 3)
>>> tuple('abc')
('a', 'b', 'c')
>>> tuple((1,2,3))
(1, 2, 3)

猜你喜欢

转载自www.cnblogs.com/eastonliu/p/9094346.html