列表也是一种序列结构,与元组不同,列表具有可变性,可以追加、插入、删除和替换列表中的元素。
1、创建列表
创建列表可以使用list([iterable])函数,或者用中括号[ ]将元素括起来,元素之间用逗号分隔,列表最后一个元素的逗号经常省略。
当列表通过list([iterable])函数创建时,参数iterable是任何可迭代对象。
上代码:
a = ['Hello', 'World', 1, 2, 3]
b = [2, ]
c = [2]
d = list((1, 2, 3, 4))
print('a :', a, type(a))
print('b :', b, type(b))
print('c :', c, type(c))
print('d :', d, type(d))
结果展示:
2、追加元素
列表中追加单个元素可以使用append()方法。如果想追加另一列表,可以使用+运算符或extend()方法。
直接上代码:
# append方法语法:
# list.append(x)
# x参数是要追加的单个元素值
# extend方法语法:
# list.extend(t)
# t参数是要追加的另一个列表
a = ['Hello', 'World', 1, 2, 3, 4]
c = [5, 6]
print('a :', a, type(a))
print('c :', c, type(c))
d = a + c
print('d = a + c :', d, type(d))
a.extend(c)
# 使用过后原列表a已被改变
print('a.extend(c) :', a, type(a))
print('a :', a, type(a))
a.append(7)
# 使用过后原列表a已被改变
print('a.append(7) :', a, type(a))
结果展示:
3、插入元素
插入元素可以使用列表的insert()方法,该方法可以指定索引位置插入一个元素。
上代码:
# insert方法语法:
# list.insert(i, x)
# i参数是要插入的位置索引,x参数是要插入的元素值
a = ['Hello', 'World', 1, 2, 3, 4]
a.insert(2, 0)
print('a.insert(2, 0):', a, type(a))
结果展示:
4、替换元素
列表具有可变性,其中的元素替换很简单,通过列表下标将索引元素放在赋值符号“=”左边,进行赋值即可替换。
代码演示:
a = ['Hello', 'World', 1, 2, 3, 4]
a[1] = 0
print('a:', a, type(a))
结果展示:
5、删除元素
列表中实现删除元素有两种方式,一种是使用列表的remove()方法,另一种是使用列表的pop()方法。
remove()方法从左到右查找列表中的元素,如果找到匹配元素则删除,注意如果找到多个匹配元素,只删除第一个,如果没有找到则会抛出错误。
pop()方法也会删除列表中的元素,但它会将成功删除的元素返回。
上代码演示:
# remove方法语法:
# list.remove(x)
# x参数是要找的元素值
a = ['Hello', 'World', 1, 2, 3, 4]
a.remove(4)
print('a:', a, type(a))
# pop方法语法:
# item = list.pop([i])
# i参数是删除元素的索引值,i省略表示删除最后一个元素,item是删除元素
item = a.pop()
print(item)
print('a:', a, type(a))
结果展示:
6、其他常用方法
reverse():倒置列表
copy():复制列表
clear():清除列表中所有元素
index(x[ , i [ , j ] ]):返回查找x第一次出现的索引,i是开始索引,j是结束索引,该方法继承自序列,元组和字符串也可以使用该方法
count(x):返回x出现的次数,该方法继承自序列,元组和字符串也可以使用该方法
代码演示:
a = [1, 2, 3, 4, 5]
a.reverse()
print(a)
b = a.copy()
print(b)
b.clear()
print(b)
a.append(5)
print(a)
print(a.index(5))
print(a.count(5))
结果展示:
7、列表推导式
Python中有一种特殊的表达式——推导式,它可以将一种数据结构作为输入,经过过滤、计算等处理,最后输出另一种数据结构。根据数据结构的不同可以分为列表推导式、集合推导式和字典推导式。
列表推导式语法结构:
n_list = [x ** 2 for x in range(10) if x % 2 == 0]
x ** 2 :这部分是输出表达式,运算结果会保存到一个新列表
x:元素变量
in后面的表达式是输入序列
if条件语句用来过滤输入序列,符合条件的传给输出表达式,条件语句可以省略,省略后所有元素都传给输出表达式。
上代码演示:
a = [x ** 2 for x in range(10) if x % 2 == 0]
print('0-9中偶数的平方数列', a)
# 可以有多个条件语句,他们之间是“与”的关系。
b = [x for x in range(100) if x % 2 == 0 if x % 5 == 0]
print('0-99可以被5整除的偶数数列', b)
结果展示:
欢迎参考学习,有错请指证,喜欢的请关注本人博客,不定期更新学习心得,学习笔记。