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])
View Code