Python学习笔记之列表list tuple

列表list

 L = ['Adam', 'Lisa', 'Bart']  
 L[-3] L[-2] L[-1] L[0] L[1] L[2]

list的添加
List 的append() 方法
append()总是把新的元素添加到 list 的尾部。

L = ['Adam', 'Lisa', 'Bart']
L.append('Paul')
print L
['Adam', 'Lisa', 'Bart', 'Paul']

ist的 insert()方法
L.insert(0, ‘Paul’) 的意思是,’Paul’将被添加到索引为 0 的位置上(也就是第一个)

L = ['Adam', 'Lisa', 'Bart']
L.insert(0, 'Paul')
print L
['Paul', 'Adam', 'Lisa', 'Bart']

list删除
list的pop()
pop()方法总是删掉list的最后一个元素,并且它还返回这个元素

 L = ['Adam', 'Lisa', 'Bart', 'Paul']
 L.pop()
'Paul'
 print L
['Adam', 'Lisa', 'Bart']

用 pop(2)把Paul删掉:

L.pop(2)
'Paul'
print L
['Adam', 'Lisa', 'Bart']

取前N个元素

L[0:n]
L[1:3]

L[0:3]表示,从索引0开始取,直到索引3为止,但不包括索引3。即索引0,1,2,正好是3个元素
如果第一个索引是0,还可以省略:

 L[:3]

切片操作还可以指定第三个参数:

 L[::2]
['Adam', 'Bart']

第三个参数表示每N个取一个,上面的 L[::2] 会每两个元素取出一个来,也就是隔一个取一个。

把list换成tuple,切片操作完全相同,只是切片的结果也变成了tuple。
取后n个元素

L = ['Adam', 'Lisa', 'Bart', 'Paul']

L[-2:]
['Bart', 'Paul']

L[:-2]
['Adam', 'Lisa']

L[-3:-1]
['Lisa', 'Bart']

L[-4:-1:2]
['Adam', 'Bart']

对字符串切片
字符串 ‘xxx’和 Unicode字符串 u’xxx’也可以看成是一种list,每个元素就是一个字符。因此,字符串也可以用切片操作,只是操作结果仍是字符串:

>>> 'ABCDEFG'[:3]
'ABC'
>>> 'ABCDEFG'[-3:]
'EFG'
>>> 'ABCDEFG'[::2]
'ACEG'

列表tuple
tuple是另一种有序的列表,中文翻译为“ 元组 ”。tuple 和 list 非常类似,但是,tuple一旦创建完毕,就不能修改了。

 t = ('Adam', 'Lisa', 'Bart')

创建tuple和创建list唯一不同之处是用( )替代了[ ]

生成列表list
要生成list [1, 2, 3, 4, 5, 6, 7, 8, 9, 10],我们可以用range(1, 11):

 range(1, 11)
[1, 2, 3, 4, 5, 6, 7, 8, 9, 10]

但如果要生成[1x1, 2x2, 3x3, …, 10x10]怎么做?方法一是循环:

L = []
for x in range(1, 11):
   L.append(x * x)

L
[1, 4, 9, 16, 25, 36, 49, 64, 81, 100]

但是循环太繁琐,而列表生成式则可以用一行语句代替循环生成上面的list:

[x * x for x in range(1, 11)]
[1, 4, 9, 16, 25, 36, 49, 64, 81, 100]

这种写法就是Python特有的列表生成式。利用列表生成式,可以以非常简洁的代码生成 list。

猜你喜欢

转载自blog.csdn.net/cream_cicilian/article/details/80189761