列表使用一对中括号“[]”,里面可以存放数值、字符串、元组、字典、集合等其他数据类型。
1、使用赋值运算符创建列表
_list = [1, 'hello', {1,2}, (1, 2), {'a' : 3}]
print(_list)
输出:
[1, 'hello', {1, 2}, (1, 2), {'a': 3}]
2、使用list()函数创建列表
list()函数可以将其他类型的数据转化成列表
例如:将字符串转化成列表
_list = list('hello')
print(_list)
输出:
['h', 'e', 'l', 'l', 'o']
3、使用列表推导式快速创建列表
1)、生成列表
格式:list = [Expression for var in range]
list:生成的列表名
Expression:表达式,用于计算新列表的元素
var:循环变量
range:采用range()函数生成的range对象
例如:生成20以内的偶数
number = [i * 2 for i in range(1, 10)]
print("生成的数:", number)
输出:
生成的列表: [2, 4, 6, 8, 10, 12, 14, 16, 18]
2)、从列表中筛选符合条件的元素组成新列表
格式:new_list = [Expression for var in list if condition]
new_list :新生成的列表名
Expression:用于计算新列表的表达式
var:变量,值为后面列表的每个元素值
list:用于生成新列表的原列表
condition:条件表达式,用于指定筛选条件
例如:
old_list = [99, 88, 89, 100, 78, 76, 56, 82]
new_list = [x for x in old_list if x > 85]
print("生成的列表:", new_list) #新列表中的数都是大于85的
输出:
生成的列表: [99, 88, 89, 100]
1、使用索引获取列表元素
_list = [1, 2, 3, 4]
print(_list[2]) #获取索引值为2的元素
输出:
3
2、使用for循环遍历列表
格式:
for item in list_name:
#对列表元素要做的操作
例如:
_list = [1, 2, 3, 4]
for i in _list:
print(i) #打印元素
输出:
1
2
3
4
3、使用for循环和enumerate()函数
格式:
#输出index和item
for index, item in enumerate(list_name):
#对index和item进行的操作
例如:
land_are = ['俄罗斯', '加拿大', '中国']
for index, item in enumerate(land_are):
print(index + 1, item)
输出:
1 俄罗斯
2 加拿大
3 中国
1)、使用append()函数添加元素
格式:list_name.append(obj)
list_name:列表名
obj:要添加的元素,可以是任何类型的数据
land_are = ['俄罗斯', '加拿大', '中国']
land_are.append('美国') #添加元素
for index, item in enumerate(land_are):
print(index + 1, item)
输出:
1 俄罗斯
2 加拿大
3 中国
4 美国
通过例子可以看到,使用append()添加元素时是在列表的末尾添加的。append()只能在列表的末尾添加元素。
2)、使用insert()函数添加元素
格式:list_name.insert(index, obj)
list_name:列表名
index:要添加元素的插入位置
obj:要添加的元素,可以是任何类型的数据
例如:
land_are = ['俄罗斯', '中国']
land_are.insert(1, '加拿大') #在索引为1的位置添加元素
for index, item in enumerate(land_are):
print(index + 1, item)
输出:
1 俄罗斯
2 加拿大
3 中国
通过例子可以看到,使用insert()可以在列表的任意位置添加元素。另外可以看到如果在中间位置添加元素时,会导致其他元素发生位置变化,这需要一定的时间开销。如果列表中数据比较多的时候,应尽量避免使用insert()添加元素。
3)、使用extend()函数添加元素
格式:list_name.extend(sequence)
list_name:原列表
sequence:要添加的列表
land_are = ['俄罗斯', '加拿大']
land_are1 = ['中国', '美国']
land_are.extend(land_are1) #将land_are1列表添加到land_are列表中
for item in land_are:
print(item)
输出:
俄罗斯
加拿大
中国
美国
1)、使用del语句,根据元素的索引删除
例如:
land_are = ['俄罗斯', '加拿大', '中国', '美国']
del land_are[3]
for item in land_are:
print(item)
输出:
俄罗斯
加拿大
中国
2)、根据元素值删除
使用remove(元素值)删除对象
格式:list_name.remove(元素值)
land_are = ['俄罗斯', '加拿大', '中国', '美国']
land_are.remove('美国')
for item in land_are:
print(item)
输出:
俄罗斯
加拿大
中国
3)、使用pop()删除
格式:list.pop([index=-1])
移除列表中的一个元素(默认最后一个元素),并且返回该元素的值
land_are = ['A', 'B', 'C']
land_are.pop()
print(land_are)
输出:
['A', 'B']
4)、list.clear()删除所有元素
land_are = ['A', 'B', 'C']
land_are.clear()
print(land_are)
输出:
[]
1)、使用in判断某个元素是否在列表中
in关键字通常和if关键字搭配使用。
land_are = ['俄罗斯', '加拿大', '中国', '美国']
if '美国' in land_are:
land_are.remove('美国')
2)、使用not in判断某个元素是否在列表中
not in关键字通常和if关键字搭配使用。
land_are = ['俄罗斯', '加拿大', '中国', '美国']
if '澳大利亚' not in land_are:
land_are.append('澳大利亚')
3)、使用count()统计某个元素在列表中出现的次数
格式:list_name.count(obj)
返回值:若obj在列表中,则返回obj在列表中出现的次数;否则,返回0
land_are = ['俄罗斯', '加拿大', '中国', '美国']
counter = land_are.count('加拿大')
print(counter)
输出:
1
4)、使用index()查找元素
格式:list_name.index(obj)
返回值:若obj在列表中,则返回obj在列表中出现的位置(索引);否则,抛出异常
land_are = ['俄罗斯', '加拿大', '中国']
counter = land_are.index('中国')
print(counter)
输出:
2
land_are = ['俄罗斯', '加拿大', '中国']
counter = land_are.index('澳大利亚')
print(counter)
输出:
ValueError: '澳大利亚' is not in list
想要修改某个元素时,通过索引获取该元素,然后对其重新赋值。
land_are = ['A', 'B', 'C']
land_are[1] = 'F' #将第二个元素修改
print(land_are)
输出:
['A', 'F', 'C']