列表是Python中最基本的数据结构,列表中的每个元素都分配一个数字 -它的位置,或索引,第一个索引是0,第二个索引是1,依此类推。
列表都可以进行的操作包括索引,切片,加,乘,检查成员。
此外,Python已经内置确定列表的长度以及确定最大和最小的元素的方法。
列表是最常用的Python数据类型,它可以作为一个方括号内的逗号分隔值出现, 列表的数据项不需要具有相同的类型。
创建一个列表,只要把逗号分隔的不同的数据项使用方括号括起来即可。如下所示:
list0 = [] #创建空列表
list1 = ['Google', 'Runoob', 1997, 2000] list2 = [1, 2, 3, 4, 5 ] list3 = ["a", "b", "c", "d"] list4 = [list2, list3] #嵌套列表
访问列表中的值
与字符串的索引一样,列表索引从0开始。列表可以进行截取、拼接、组合等。使用下标索引来访问列表中的值,同样你也可以使用方括号的形式截取字符。
Python 表达式 | 描述 |
---|---|
L[n] | 读取n个元素 |
L[-n] | 从右侧开始读取倒数第n个元素: count from the right |
L[n:] | 输出从第n个元素开始后的所有元素 |
#!/usr/bin/python3 if __name__ == '__main__': list1 = ['Google', 'Runoob', 1997, 2000]; list2 = [1, 2, 3, 4, 5, 6, 7 ]; list3 = ['a', 'b', 'c', 'd'] list4 = [list2, list3] print("list1[0]:", list1[0]) print("list2[2:3]:", list2[1:5]) print(list1[-1]) print(list2[2:4]) print(list4) print(list4[1][2]) #类似与二维数组
以上实例输出结果:
list1[0]: Google
list2[2:3]: [2, 3, 4, 5]
2000
[3, 4]
[[1, 2, 3, 4, 5, 6, 7], ['a', 'b', 'c', 'd']]
c
列表增删查改操作
你可以对列表的数据项进行修改或更新。
列表内置函数:
序号 | 函数 |
---|---|
1 | len(list) 列表元素个数 |
2 | max(list) 返回列表元素最大值 |
3 | min(list) 返回列表元素最小值 |
4 | list(seq) 将元组转换为列表 |
序号 | 方法 |
---|---|
1 | list.append(obj) 在列表末尾添加新的对象 |
2 | list.count(obj) 统计某个元素在列表中出现的次数 |
3 | list.extend(seq) 在列表末尾一次性追加另一个列表中的多个值(用新列表扩展原来的列表) |
4 | list.index(obj) 从列表中找出某个值第一个匹配项的索引位置 |
5 | list.insert(index, obj) 将对象插入列表 |
6 | list.pop(obj=list[-1]) 移除列表中的一个元素(默认最后一个元素),并且返回该元素的值 |
7 | list.remove(obj) 移除列表中某个值的第一个匹配项 |
8 | list.reverse() 反向列表中元素 |
9 | list.sort([func]) 对原列表进行排序 |
10 | list.clear() 清空列表 |
11 | list.copy() 复制列表 |
#!/usr/bin/python3 -B if __name__ == '__main__': list = ['micso', 'google', 233, 2000] print('list len:', len(list)) print("three ele:", list[2]) list[2] = 'hero' print('---------------------') for temp in list: print(temp, end=' ') print('') print('---------------------') del list[2] #根据下标删除 list.remove('google') #根据元素删除 list.insert(0, 'C++') #添加到指定位置 list.append('python') #只能添加到列表末尾 for temp in list: print(temp, end=' ') print('') print('---------------------') a = ['a', 'b', 'c'] b = [1, 3, 5] x = [a, b] print(x) print(x[1][0]) print('---------------------') list2 = [33, 23, 113, 13, 44, 30, 100] list2.sort() #只能对元素为整形的列表排序 for n in list2: print(n, end=' ')
以上实例输出结果:
list len: 4
three ele: 233
---------------------
micso google hero 2000
---------------------
C++ micso 2000 python
---------------------
[['a', 'b', 'c'], [1, 3, 5]]
1
---------------------
13 23 30 33 44 100 113
Python列表脚本操作符
列表对 + 和 * 的操作符与字符串相似。+ 号用于组合列表,* 号用于重复列表。
如下所示:
Python 表达式 | 结果 | 描述 |
---|---|---|
len([1, 2, 3]) | 3 | 长度 |
[1, 2, 3] + [4, 5, 6] | [1, 2, 3, 4, 5, 6] | 组合 |
['Hi!'] * 4 | ['Hi!', 'Hi!', 'Hi!', 'Hi!'] | 重复 |
3 in [1, 2, 3] | True | 元素是否存在于列表中 |
for x in [1, 2, 3]: print x, | 1 2 3 | 迭代 |
#!/usr/bin/python3 if __name__ == '__main__': list1 = ['Google', 'Runoob', 1997, 2000]; list2 = [1, 2, 3, 4, 5 ]; list3 = [1, 'a', 'b', 'c', 'd'] list4 = ['Hi'] list6 = list2 + list3 #只是将list3的元素添加到list2元素末尾 print(list6) list4 = list4*4 print(list4) if 3 in list2: print('in it') for x in [1, 2, 3]: print(x, end=' ')
以上实例输出结果:
[1, 2, 3, 4, 5, 1, 'a', 'b', 'c', 'd']
['Hi', 'Hi', 'Hi', 'Hi']
in it
1 2 3