i = [1, 2, 3, 4, 5]
i[0] = 1
i[-1] = 5
i[0:4:2] #[1, 3]
i[0:4] #[1, 2, 3, 4]
i[:] #[1, 2, 3, 4, 5]
i = [1, 2, 3, 4, 5]
j = [‘a’, ‘b’, ‘c’, ‘d’]
k = i + j
k #[1, 2, 3, 4, 5, ‘a’, ‘b’, ‘c’, ‘d’]
i = [1, 2, 3]
j = i * 3
j #[1, 2, 3, 1, 2, 3, 1, 2, 3]
i = [1, 2, 3, 4, 5]
1 in i #True
1 not in i #False
i = [1, 2, 3, 4, 5]
len(i) #5
max(i) #5
min(i) #1
i = [1, 2, 3, 4, 5]
i = [] #空列表
list(range(10,20,2)) #[10, 12, 14, 16, 18]
del i #python自带垃圾回收,即使不手动删除也会回收
遍历列表for item in listname: print(item) for index,item in enumerate(listname): print(index,item) #使用enumerate可以打印元素值和其索引添加列表元素
listname.append(obj) listname.extend(seq) #seq列表的内容全部追加到listname的后面删除列表元素
i = [1, 2, 3, 4, 5] del i[-1] #根据索引删除列表最后一个元素 if i.count(2) > 0: #通过判断元素出现的次数,判断元素是否存在 i.remove(2) #根据元素值删除元素 [1,3, 4, 5]列表统计计算
listname.count(obj) #获取元素出现的次数 listname.index(obj) #获取元素首次出现的下标 sum(iterable, start) #列表的元素和 + start(default = 0)列表排序
listname.sort(key=None, reverse=False) sorted(iterable, key=None, reverse=False) #False:升序,True:降序列表推导式
根据指定范围生成列表
list = [expression for var in range] 例:randomnumber = [random.randint(10,100) for i in range(10)] #[65, 44, 87, 64, 30, 40, 62, 79, 17, 36]
根据列表生成新列表
newlist = [expression for var in list] 例:price = [1200, 5330, 2988, 6200, 1998, 8888] sale = [int(x * 0.5) for x in price] #[600, 2665, 1494, 3100, 999, 4444]
从列表中选择符合条件的元素组成新列表
newlist = [expression for var in list if condition] 例:sale = [x for x in prece if x > 5000] #[5330, 6200, 8888]二维列表
直接定义
listname = [[1,2,3], [4,5,6], [7,8,9]]
使用for循环创建
arr = [] for i in range(2): arr.append([]) for j in range(5): arr[i].append(j) #[[0,1,2,3,4], [0,1,2,3,4]]元组
元组为不可变序列
元组创建tuplename = (1, 2, 3, 4, 5)
#类型可以不同
tuplename = (‘python’, 500, (‘abc’, ‘def’), [‘ijk’, ‘opq’])
#小括号不是必须的,只要以逗号隔开,即认为是元组
tuplename = ‘python’, 500, (‘abc’, ‘def’), [‘ijk’, ‘opq’]
#如果创建的元组只包含一个元素,需要在最后加一个逗号
>>> i = 500, >type(i)创建空元组>>> i = 500 >>> type(i) >>> i = '123' >>> type(i) >>> i = '123', >>> type(i)
emptytuple = ()
用于当函数参数或返回值类型为元组类型时使用
tuple(data)
data可以为range对象,字符串,元组
例:tuple(range(10, 20, 2)) #(10, 12, 14, 16, 18)删除元组
del tuplename #python会自动回收
修改元组元组为不可变序列,不能修改单个元素
可以重新赋值
i = (1, 2, 3)
i = (4, 5, 6)
可以连接,连接内容必须都是元组
i = (1, 2, 3, 4) j = 5, #如果没有逗号会报错 k = i + j #(1, 2, 3, 4, 5)元组推导式
>>>randomnumber = (random.randint(10, 100) for i in range(10)) >>> type(randomnumber) #生成了一个生成器对象>>> randomnumber = tuple(randomnumber) #转换成列表可以使用list(randomnumber) >>> type(randomnumber) >>> randomnumber (27, 99, 48, 53, 37, 63, 38, 100, 11, 40)
如果要直接使用生成器对象,可以通过for循环遍历,或者使用 next()方法进行遍历
>>>number = (i for i in range(3)) >>>print(number.__next__()) >0 >>>print(number.__next__()) >1 >>>number = tuple(number) >>>print(number) >(2,)
原生成器对象在遍历之后,遍历过的元素就不再存在,转换之后元组中只剩一个元素



