python Day 3 列表和元组

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]

你可能感兴趣的:(python Day 3 列表和元组)