列表(list)也是一种序列结构,与元组不同,列表具有可变性,可以追加、插入、删除和替换列表中的元素。
列表创建
可以使用list([iterable])函数,或者使用中括号[]将元素括起来,元素之间用逗号隔开
[10, 12, 14, 11]
['Hello', 1, 2.3]
[10]
[10,]
list((10,12,14))
把元组转换成list,元组是可迭代的对象
追加元素
追加单个元素可以使用 append()
方法,如果想追加另一列表,可以使用 +
或者 extend()
list.append(x)
list.extend(list2)
s_list = ['张三','李四']
s_list.append('二')
s_list += ['张','李']
s_list.extend(['三','四'])
插入元素
可以使用列表的insert()
方法,该方法可以在指定索引位置插入一个元素
list.insert(i, x)
s_list = ['张三','李四']
s_list.insert(1,'二')
替换元素
s_list = ['张三','李四']
s_list[0] = '二'
删除元素
- remove()
从左到右查找列表,如果找到匹配则删除,如果多个,只删除第一个,如果没有抛出异常 - pop()
也会删除元素,但是会将成功删除的元素返回。
s = ['张三','李四', 李四]
s.remove('李四')
s = ['张三','李四', 李四]
s.pop(0)
其他方法
reverse():倒置列表
copy():复制列表
clear():清除列表元素
index(x[, i[, j]]):返回查找x第一次出现的索引,i 是开始的索引 ,j 是结束的索引,序列、元组、字符串都可以用
count(x):返回x的次数,序列、元组、字符串都可以用
a = [32,32,12,12,'测试']
a.reverse()
print(a)
b = a.copy()
b.clear()
a.count(32)
a.index('测试') 结果:4
a.index(32,1,2) 结果:1
列表推导式
python中有一种特殊表达式—推导式,它可以将一种数据结构作为输入,经过过滤计算等处理,然后输出另外一种数据结构。根据数据结构的不同可分为列表推导式,集合推导式,字典推导式
a = []
for x in rang(10):
if x % 2 == 0:
a.append(x ** 2)
print(a)
推导式
a = [x ** 2 for x in range(10) if x % 2 ==0]
表达式 变量 输入序列 条件语句
a = [ x for x in range(100) if x % 2 ==0 if x % 5 == 0]
“与”的关系