Python内置的一种数据类型是列表:list。
- list是一种有序的集合
- 可以随时添加和删除其中的元素。
- 它可以作为一个方括号内的逗号分隔值出现。
- 列表的数据项不需要具有相同的类型
创建一个列表,只要把逗号分隔的不同的数据项使用方括号括起来即可。如下所示:
list1 = ['Google', 1997] list2 = [1, 2, 3, 4, 5] list3 = ["a", "b", "c", "d"]
与字符串的索引一样,列表索引从0开始。列表可以进行截取、组合等。
1、访问列表中的值
使用下标索引来访问列表中的值,同样你也可以使用方括号的形式截取字符,如下所示:
list1 = ['Google', 1997] list2 = [1, 2, 3, 4, 5] print("list1[0]: ", list1[0]) print("list2[1:5]: ", list2[1:5])
以上代码,输出:
list1[0]: Google
list2[1:5]: [2, 3, 4, 5]
2、更新列表
你可以对列表的数据项进行修改或更新,如下所示:
list1 = ['Google', 1997] print("list1的第2个元素是:", list1[1]) list1[1] = 'baidu' print("更新后的第2个元素是:", list1[1])
以上代码,输出:
list1的第2个元素是: 1997
更新后的第2个元素是: baidu
你也可以使用append()方法来添加列表项:
list1 = ['Google', 1997] print("原始的list1:", list1) list1.append("baidu") print("添加一个元素后,的list1:", list1)
以上代码,输出:
原始的list1: ['Google', 1997]
添加一个元素后,的list1: ['Google', 1997, 'baidu']
3、删除列表元素
可以使用 del 语句来删除列表的的元素,如下实例:
list1 = ['Google', 1997] print("原始的list1:", list1) del list1[1] print("删除第二个元素后的list1:", list1)
以上代码,输出:
原始的list1: ['Google', 1997] 删除第二个元素后的list1: ['Google']
4、操作符
列表对 + 和 * 的操作符与字符串相似。+ 号用于组合列表,* 号用于重复列表。
如下所示:
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, end=" ") | 1 2 3 | 迭代 |
5、截取与拼接
列表截取与字符串操作类型,我们定义一个列表,如下:
language = ['c', 'c++', 'python'] print('读取第三个元素language[2]:',language[2]) print('从右侧开始读取倒数第二个元素language[-2]:',language[-2]) print('输出从第二个元素开始后的所有元素language[1:]:',language[1:])
以上代码,输出:
读取第三个元素language[2]: python 从右侧开始读取倒数第二个元素language[-2]: c++ 输出从第二个元素开始后的所有元素language[1:]: ['c++', 'python']
6、嵌套列表
使用嵌套列表即在列表里创建其它列表,例如:
language = ['c', 'c++', 'python'] run = ['game', 'billiards'] roy =[language, run] print(roy)
以上代码,输出:
[['c', 'c++', 'python'], ['game', 'billiards']]
思考:上面嵌套列表 roy 中,如何用索引输出List中的所有元素?下面给出答案,但请尽可以在自行写出来之前不要查看:
language = ['c', 'c++', 'python'] run = ['game', 'billiards'] roy =[language, run] print(roy) print() # 输出空行 print('roy里有两上元素:第一个元素为列表language,第二个元素为列表run') print('那么,roy[0] 为 language,即:', roy[0]) print('那么,roy[1] 为 run,即:', roy[1]) print() # 输出空行 print('language中的第1项:', roy[0][0]) print('language中的第2项:', roy[0][1]) print('language中的第3项:', roy[0][2]) print() # 输出空行 print('run中的第1项:', roy[1][0]) print('run中的第2项:', roy[1][1])