1.列表可以直接相加
list1 = [1,2] list2 = [3,4]
list3 = list1+list2
>>>list3
[1,2,3,4]
2.列表相比较
>>>list1 > list2
True
3.列表乘以整数
>>>list1*2
[1,2,1,2]
>>> 1 in list1
True
4.列表中的方法
list.count() #计算列表中元素出现次数
list.index() #返回元素第一次出现的位置
list.reverse() #翻转整个列表
list.sort() #对列表中元素进行排序
list.sort(reverse = True) #反排序
list.appent() #在最后添加一个元素
list.extend() #用另一个列表扩展列表
list.remove() #删除一个元素
list.pop() #删除并返回最后一个元素
list.insert() #在指定位置插入一个元素
list.copy() #拷贝一个副本
list.clear() #清空所有元素
5.>>> [i*i for i in range(9) ]
[0, 1, 4, 9, 16, 25, 36, 49, 64]
列表推导式:也叫列表解析,灵感取自函数式编程Haskell,可以用来动态地创建列表。
>>> list1 = [(x, y) for x in range(10) for y in range(10) if x%2==0 if y%2!=0]
>>> list1
[(0, 1), (0, 3), (0, 5), (0, 7), (0, 9), (2, 1), (2, 3), (2, 5), (2, 7), (2, 9), (4, 1), (4, 3), (4, 5), (4, 7), (4, 9), (6, 1), (6, 3), (6, 5), (6, 7), (6, 9), (8, 1), (8, 3), (8, 5), (8, 7), (8, 9)]
6.元组:tuple(,)逗号是关键 列表:list [] 元组的元素不可改变
temp=(1,) temp = (,) temp = 1,都是元组
3*(3)= 9
3*(3,)=(3,3, 3)
7.列表推导式
列表推导式提供了从序列创建列表的简单途径。
>>> lis = [1,2,3,4]
>>> [x**2 for x in lis]
[1, 4, 9, 16]
>>> [[x,x**3] for x in lis]
[[1, 1], [2, 8], [3, 27], [4, 64]]
可以在for循环后面加入if语句
>>> lis = [1,2,3,4,5]
>>> [x**3 for x in lis if x>3]
[64, 125]
两个for循环的列表推导式:
>>> v1 = [2,4,6]
>>> v2 = [4,3,-1]
>>> [x*y for x in v1 for y in v2]
[8, 6, -2, 16, 12, -4, 24, 18, -6]
>>> [x+y for x in v1 for y in v2]
[6, 5, 1, 8, 7, 3, 10, 9, 5]
8.嵌套列表解析
>>> matrix = [[1,2,3,4],[5,6,7,8],[9,10,11,12]]
>>> for row in matrix:
print(row)
[1, 2, 3, 4]
[5, 6, 7, 8]
[9, 10, 11, 12]
#将3*4的矩阵列表转换为4*3列表
>>> [[row[i] for row in matrix] for i in range(4)]
[[1, 5, 9], [2, 6, 10], [3, 7, 11], [4, 8, 12]]
>>> [row[0] for row in matrix]
[1, 5, 9]