一、
type(list1)输出 <class a的类型(如 int)>;
bin(list1)是输出二进制数的;
enumerate()函数:
a= ['Spring','Summer','Fall','Winter']
lst = list(enumerate(list1))
print(lst) #[(0,'Spring'),(1,'Summer'), (2, 'Fall'),(3,'Winter')]
lst = list(enumerate(a, start=1)) # 下标从 1 开始
print(lst) #[(1,'Spring'),(2,'Summer'),(3, 'Fall'),(4,'Winter')]
二、表
表(list)可以被修改
(1) 表的创建
- 直接创建
list1=['Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday']
print(x, type(x))
# ['Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday'] <class 'list'>
- range创建
list1=list(range(10))
print(list1, type(x))
# [0, 1, 2, 3, 4, 5, 6, 7, 8, 9] <class 'list'>
- 推导式
list1=[312,432,65]*3
print(list1) #[312, 432, 65, 312, 432, 65, 312, 432, 65]
list1=[0 for i in range(4)]
print(list1) #[0, 0, 0, 0]
list1=[i for i in range(9,67,8)]
print(list1) #[9, 17, 25, 33, 41, 49, 57, 65]
list1=[i **2 for i in range(3,8,2)]
print(list1) #[9, 25, 49]
list1=[i for i in range(100) if(i%2!=0 and i%3==0)]
print(list1) #[3, 9, 15, 21, 27, 33, 39, 45, 51, 57, 63, 69, 75, 81, 87, 93, 99]
(2)表中元素的添加
- append (所添加的内容被当作一个组)
list1=['Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday']
list1.append(['Thursday', 'Sunday'])
print(list1)
# ['Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', ['Thursday', 'Sunday']]
print(len(list1)) # 6
- **extend(**所添加的内容是单独独立的)
list1= ['Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday']
list1.extend(['Thursday', 'Sunday'])
print(list1)
# ['Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Thursday', 'Sunday']
print(len(list1)) # 7
- insert(是在给定位置上添加个整体元素)。
list1=['Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday']
list1.insert(2, 'Sunday')
print(list1)
# ['Monday', 'Tuesday', 'Sunday', 'Wednesday', 'Thursday', 'Friday'
print(len(list1)) # 6
(3)表中元素的删除
- remove(删除表中出现给定值的第一个匹配项,返回剩余元素)
list1=[1,2,3,4,5]
list1.remove(1)
print(list1) #[2,3,4,5]
- pop(移除给定位置的元素,返回被移除元素)
list1=['huawei','honor','xiaomi']
b=list1.pop(0)
c=list1.pop(-1)
print("b=",b,"c=",c) #b= huawei c= xiaomi
- del(移除范围之间的元素,返回剩余元素,上组限不在内)
list1=['p','a','d','x']
print(list1) #['p', 'a', 'd', 'x']
del list1[0:1]
print(list1) #['a', 'd', 'x']
del list1[-3:-1]
print(list1) #['x']
(4)表中元素的获取
- 直接获取
list1=['a','z','x','d']
print(list1[0]) #a
print(list1[-1]) #b
- “start:”(默认步长为1,往后边获取)
list1=[1,23,56,45]
print(list1[1:]) #[23, 56, 45]
print(list1[-2:]) #[56, 45]
- “:stop”(默认步长为1,往后边获取)
list1=[321,432,656,756]
print(list1[:3]) #[321, 432, 656]
print(list1[:-3]) #[321]
- “start:stop”(默认步长为1,上组限不在内)
list1=[3213,5364,'gdf','ftere']
print(list1[1:3]) #[5364, 'gdf']
print(list1[-3:-1]) #[5364, 'gdf']
- “start:stop:step”(上组限不在内,当start和stop都没有,step=-1时就相当于把表逆排序)
list1=[31231,365731,647285,42323,'dasdaouh','rerew3','sf4684']
print(list1[1:5:2]) #[365731, 42323]
print(list1[:4:3]) #[31231, 42323]
print(list1[1::4]) #[365731, 'rerew3']
print(list1[::-1]) #['sf4684', 'rerew3', 'dasdaouh', 42323, 647285, 365731, 31231]
- “:”(相当于全部复制,浅拷贝)
list1=['dasdad','fdsfsf',34242,32442]
print(list1[:]) #['dasdad', 'fdsfsf', 34242, 32442]
(5)其他
- 数表中某个元素出现的个数
count
list1=[321,'dadad','adad3']*2
print(list1) #[321, 'dadad', 'adad3', 321, 'dadad', 'adad3']
num=list1.count(321)
print(num) #2
- 找某个值第一次出现的位置
index
list1=[123,'asda']*5
print(list1) #[123, 'asda', 123, 'asda', 123, 'asda', 123, 'asda', 123, 'asda']
print(list1.index(123)) #0
print(list1.index(123,2)) #2
print(list1.index(123,5,9)) #6
- 反向表
reverse
list1= [123, 456, 789]
list1.reverse()
print(list1) # [789, 456, 123]
- 对表的序列进行排序
sort (key是对其中哪个进行排序,reverse是规定了是升序还是降序)
sort(key=,reverse=) (reverse=True时降序,reverse=False时升序(默认))
def 是用来定义一个函数的
list1=[123123,3242,54353,]
list1.sort(reverse=True)
print(list1) #[123123, 54353, 3242]
list2=[(3,4),(434,52),(456,678)]
def takesecond(c):
return c[1]
list2.sort(key=takesecond,reverse=True)
print(list2) #[(456, 678), (434, 52), (3, 4)]