内容目录
- 一、数据类型-列表
- 1. 列表
- 1.1. 列表的截取 ==result = List[start:end:step]==
- 1.2. 列表元素的修改 ==List[index] = element==
- 1.3. 列表元素的删除 ==del List[index] 或 del List[start:end:step]==
- 1.4. 列表元素的拼接 “+” 或者增量赋值运算符 “+=”
- 2. 列表常用内置函数 ==对象.内置函数名(参数)==
- 2.1. list1.extend(list2)
- 2.2. list1.append(obj)
- 2.3. list1.sort(reverse=False)
- 2.4. list1.reverse()
- 2.5.ind = list1.index(obj)
- 3. 二维列表
一、数据类型-列表
1. 列表
list1 = [1, 2, 3, 4, 5 ]
list2 = ['Python', 'c++', 1997, 2000]
list3 = ['公主与青蛙', '奇幻森林', '冰川时代', '玩具总动员', '捉妖记']
列表中的索引是从0开始的,故第1个元素的索引是0。
1.1. 列表的截取 result = List[start🔚step]
list1 = ['Python', 'c++', 1997, 2000, '超人','蝙蝠侠']
list2 = list1[0:2] #或者 list2 = list1[:2] #截取列表索引从0到2之间的元素
print(list2)
list3 = list1[0:4:2] #或者 list2 = list1[:4:2] #截取列表索引从0到4之间的间隔为2的元素
print(list3)
list4 = list1[::2] #截取全列表间隔为2的元素
print(list4)
['Python', 'c++']
['Python', 1997]
['Python', 1997, '超人']
1.2. 列表元素的修改 List[index] = element
1.3. 列表元素的删除 del List[index] 或 del List[start🔚step]
1.4. 列表元素的拼接 “+” 或者增量赋值运算符 “+=”
list1 = [1,2]
list2 = [3,4]
list3 = list1 + list2
print(list3)
list2 += list1
print(list2)
2. 列表常用内置函数 对象.内置函数名(参数)
2.1. list1.extend(list2)
功能:在列表list1的末尾连接上列表list1
注意:extend括号里的参数必须是列表类型
a=[1,2,3]
b=[4,5,6]
a.extend(b)
print(a)
输出
[1, 2, 3, 4, 5, 6]
2.2. list1.append(obj)
功能:在列表list1的末尾添加任意类型的元素obj
注意:如果添加的是列表,则该列表被当成一个元素被添加到列表list1中
a=[1,2,3]
b=4
a.extend(b)
print(a)
输出
[1, 2, 3, 4]
a=[1,2,3]
b=[4]
a.extend(b)
print(a)
输出
[1, 2, 3, [4]]
2.3. list1.sort(reverse=False)
功能:对列表list1里的元素进行排列,排序结果将会覆盖list1的内容
reverse:设置排序规则,reverse=True表示降序排序; reverse=False表示升序排序(默认)
对列表内的数字进行排序:
list1=[1, 9, 20, 16, 77, 0]
list1.sort() #省略reverse,则默认升序排序
print(list1)
list1.sort(reverse=True) #设置reverse,表示降序排序
print(list1)
输出
[0, 1, 9, 16, 20, 77]
[77, 20, 16, 9, 1, 0]
对字母进行排序:
list1=['python', 'c++', 'java', 'php', 'lua']
list1.sort() #省略reverse,则默认升序排序
print(list1)
list1.sort(reverse=True) #设置reverse,表示降序排序
print(list1)
输出
['c++', 'java', 'lua', 'php', 'python']
['python', 'php', 'lua', 'java', 'c++']
2.4. list1.reverse()
功能:对列表list1里的元素进行翻转,翻转结果将会覆盖list1的内容
list1=[1, 9, 'python', 100, 'dashima', 77, 0]
list1.reverse()
print(list1)
输出
[0, 77, 'dashima', 100, 'python', 9, 1]
2.5.ind = list1.index(obj)
功能:查找元素’obj’在这个列表list1中第一个被匹配到的位置,并将该位置返还给一个变量ind
obj:需要查找的元素
ind:obj在查找列表中的索引
list1 = [1,9,20,16,16,77,0]
a = list1.index(16)
print(a)
输出
a
如果列表中没有待查找的元素,则程序会抛出异常
3. 二维列表
定义:矩阵
list2D = [
[0,'语文','数学','英语'],
['小明',95,98,99],
['莉莉',99,95,100],
['大雄',60,10,50]
]
print(list2D)
输出
[[0, '语文', '数学', '英语'], ['小明', 95, 98, 99], ['莉莉', 99, 95, 100], ['大雄', 60, 10, 50]]
print(list2D[0][0]) # 取第0行第0列的元素
print(list2D[0][2]) # 取第0行第2列的元素
print(list2D[2][1]) # 取第2行第1列的元素
print(list2D[0]) # 取第0行所有元素
print(list2D[1]) # 取第1行所有元素
print(list2D[2]) # 取第2行所有元素
输出
0
数学
99
[0, '语文', '数学', '英语']
['小明', 95, 98, 99]
['莉莉', 99, 95, 100]
推导表达式:
list2D = [
['test','语文','数学','英语'],
['小明',95,98,99],
['莉莉',99,95,100],
['大雄',60,10,50]
]
list0 = [i[0] for i in list2D] # 取第0列
print(list0)
(
相当于
list0 = []
for i in list2D:
list0.append(i[0])
print(list0)
)
list1 = [i[0]+'ecnu' for i in list2D]
print(list1)
list2 = [i[0]*2 for i in list2D]
print(list2)
输出
['test', '小明', '莉莉', '大雄']
['testecnu', '小明ecnu', '莉莉ecnu', '大雄ecnu']
['testtest', '小明小明', '莉莉莉莉', '大雄大雄']