列表是什么以及如何使用列表。
列表是什么
列表是由一系列的按照特定顺序排列的元素组成的。列表中可以所含字符、数字。在Python中,用方括号[]来表示列表,并且使用逗号来分隔其中的元素。
列表的声明
cities=['JiNan', "BeiJing", 'ShiJiaZhuang', "Tianqin", "ZhengZhou"]
print(cities)
代码的输出结果如下:
['JiNan', 'BeiJing', 'ShiJiaZhuang', "Tianqin", 'ZhengZhou']
列表的访问
使用[]来访问列表中的元素
print(cities[0])
print(cities[4])
代码的输出结果如下:
JiNan
ZhengZhou
越界访问
print(cities[5])
越界访问的结果如下:
Traceback (most recent call last):File "F:\python_test\cities.py", line 11, in <module>print(cities[5])~~~~~~^^^
IndexError: list index out of range
修改列表元素
print(cities)
cities[4]='DaLian'
print(cities)
输出结果如下:
['JiNan', 'BeiJing', 'ShiJiaZhuang', 'Tianqin', 'ZhengZhou']
['JiNan', 'BeiJing', 'ShiJiaZhuang', 'Tianqin', 'DaLian']
在末尾添加元素
append()函数可以将元素追加到列表末尾。
cities.append('TaiYuan')
print(cities)
输出的结果如下:
['JiNan', 'BeiJing', 'ShiJiaZhuang', 'Tianqin', 'DaLian', 'TaiYuan']
在列表中插入元素、
insert()函数可以在列表的任何位置添加新元素。
cities.insert(0,"NanJing")
print(cities)
代码的输出结果如下:
['NanJing', 'JiNan', 'BeiJing', 'ShiJiaZhuang', 'Tianqin', 'DaLian', 'TaiYuan']
使用pop()删除元素
city1 = cities.pop();
print(city1)
print(cities)
city2=cities.pop(3);
print(city2)
print(cities)
代码的输出结果如下:
TaiYuan
['NanJing', 'JiNan', 'BeiJing', 'ShiJiaZhuang', 'Tianqin', 'DaLian']
ShiJiaZhuang
['NanJing', 'JiNan', 'BeiJing', 'Tianqin', 'DaLian']
使用del删除任何位置的元素,在已知索引位置的前提下。
del cities[0]
print(cities)
代码的输出结果如下:
['JiNan', 'BeiJing', 'Tianqin', 'DaLian']
根据值删除元素remove
cities.remove('DaLian')
print(cities)
代码运行的结果如下:
['JiNan', 'BeiJing', 'Tianqin']
使用sort()对列表进行排序
cities.sort();
print(cities)
cities.sort(reverse=True);
print(cities)
代码的输出结果如下:
['BeiJing', 'JiNan', 'Tianqin']
['Tianqin', 'JiNan', 'BeiJing']
使用len()函数确定列表的长度
lenOfCities=len(cities)
print(lenOfCities)
代码的输出结果如下:
3
使用for循环来遍历列表
for city in cities:print(city)
代码输出的结果如下:
Tianqin
JiNan
BeiJing
对列表进行切片
要对一个列表进行切片,就要制定列表中要切片的第一个元素和最后一个元素的索引位置。
print(cities[0:2])
代码的输出结果如下:
['Tianqin', 'JiNan']
问题思考:
1.列表中可以存储的数据类型有哪些?
2.对一个列表进行切片操作的时候,是创建了一个新的列表吗?在大型的项目中,切片会不会引起内存的问题?