列表多种添加元素的办法#

>>> mylist=[1,2,3]
#在末尾添加
>>> mylist.append(4)
>>> mylist
[1, 2, 3, 4]
#把另一个列表中元素一个个添加(保持原顺序)
>>> mylist.extend([4,5,6])
>>> mylist
[1, 2, 3, 4, 4, 5, 6]
#在位置1(0是首位)放置元素200
>>> mylist.insert(1,200)
>>> mylist
[1, 200, 2, 3, 4, 4, 5, 6]
#列表相加(非原地操作)
>>> mylist+[500,600]
[1, 200, 2, 3, 4, 4, 5, 6, 500, 600]

列表推导式#

列表推导式,用来替代这样的情景:需要使用for循环或append语句反复遍历来创建列表

>>> for letter in mystring:
...     mylist.append(letter)
...     
>>> mylist
['h', 'e', 'l', 'l', 'o']

>>> mylist=[]
#从某个可迭代对象(另一个列表)中,按元素逐个取出
>>> mylist=[letter for letter in mystring] #和上面的for in 语句差不多的效率
>>> mylist
['h', 'e', 'l', 'l', 'o']

range(start, stop, step),当range只有一个参数时,参数指的是stop,此时start为0,step为1;range函数是一个生成器:可迭代对象

>>> mylist=[]
>>> mylist=[x for x in range(0,11)]
>>> mylist
[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
>>> range(0,11)
range(0, 11)

进阶#

>>> mylist=[x**2 for x in range(0,11)]
>>> mylist
[0, 1, 4, 9, 16, 25, 36, 49, 64, 81, 100]
>>> mylist=[x for x in range(0,11)]
#加条件,对[0,11)取数,仅当x%2 == 0 才取
>>> mylist = [x for x in range(0,11) if x%2==0 ]
>>> mylist
[0, 2, 4, 6, 8, 10]