1.什么是列表
列表是有序集合,没有固定大小,能够保存任意数量任意类型的 Python 对象,语法为 [元素1, 元素2, …, 元素n]
其中我们需要留意的是列表里面可以放任意类型的数据,并且是用[ ]来将数据集中起来的
普通型的列表
x = ['Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday']
print(x[0]) # Monday
混合型的列表
mix = [1, 'lsgo', 3.14, [1, 2, 3]]
print(mix, type(mix))
# [1, 'lsgo', 3.14, [1, 2, 3]] <class 'list'>
2.多种方式创建列表
2.1 利用range()函数创建
x = list(range(1, 11, 2))
print(x, type(x))
# [1, 3, 5, 7, 9] <class 'list'>
x = [[0 for col in range(3)] for row in range(4)]
print(x, type(x))
# [[0, 0, 0], [0, 0, 0], [0, 0, 0], [0, 0, 0]] <class 'list'>
2.2 利用推导式创建
x= [x for x in range(1500,2000) if ( x % 7 == 0) & ( x % 5 == 0 ) ]#使用的是中括号
print(x)
#[1505, 1540, 1575, 1610, 1645, 1680, 1715, 1750, 1785, 1820, 1855, 1890, 1925, 1960, 1995]
3.列表中的增删查
3.1增——三种方式
第一种 —— list.append(obj) 在列表末尾添加新的对象,只接受一个参数,参数可以是任何数据类型,被追加的元素在 list 中保持着原结构类型。
第二种 —— list.extend(seq) 在列表末尾一次性追加另一个序列中的多个值(用新列表扩展原来的列表)
第三种 —— list.insert(index, obj) 在编号 index 位置插入 obj。
#第一种
x = ['Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday']
x.append(['Thursday', 'Sunday'])
print(x)
# ['Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', ['Thursday', 'Sunday']]
print(len(x)) # 6
#第二种
x = ['Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday']
x.extend(['Thursday', 'Sunday'])
print(x)
# ['Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Thursday', 'Sunday']
print(len(x)) # 7
#第三种
x = ['Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday']
x.insert(2, 'Sunday')
print(x)
# ['Monday', 'Tuesday', 'Sunday', 'Wednesday', 'Thursday', 'Friday']
print(len(x)) # 6
3.2 删——三种方式
第一种 —— list.remove(obj) 移除列表中某个值的第一个匹配项
第二种 —— list.pop([index=-1]) 移除列表中的一个元素(默认最后一个元素),并且返回该元素的值
第三种 —— del var1[, var2 ……] 删除单个或多个对象
#第一种
x = ['Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday']
x.remove('Monday')
print(x) # ['Tuesday', 'Wednesday', 'Thursday', 'Friday']
#第二种
x = ['Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday']
y = x.pop()
print(y) # Friday
#第三种
del x[0:2]
print(x) # ['Wednesday', 'Thursday']
3.3 查 —— N种方式
这里的查询会用到切片——X[start : stop : step]
#第一种——X[ start :]
x = ['Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday']
print(x[3:]) # ['Thursday', 'Friday']
print(x[-3:]) # ['Wednesday', 'Thursday', 'Friday']
#第二种——X[: stop]
print(x[:3]) # ['Monday', 'Tuesday', 'Wednesday']
print(x[:-3]) # ['Monday', 'Tuesday']
#第三种——X[start : stop]
print(x[1:3]) # ['Tuesday', 'Wednesday']
#第四种——X[start : stop : step],step 设为 -1,相当于将列表反向排列
print(x[1:4:2]) # ['Tuesday', 'Thursday']
print(x[::-1]) # ['Friday', 'Thursday', 'Wednesday', 'Tuesday', 'Monday']
#第五种——X[ : ] ,复制列表中的所有元素(浅拷贝)
print(x[:]) # ['Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday']