九、python基础:数据容器(列表的相关操作),较全面。
有时候我们忘记了列表的常用函数,可以在命令提示符窗口查询列表的常用操作函数:
a = []
a.然后按下tab键
一、列表的创建:
1、简单创建列表(手动创建):
1.1、使用中括号[]直接创建:
# 手动创建一个空列表,并赋值给变量a
a = []
# 手动创建一个包含数值型数据的列表
a = [1, 2, 3, 34, 43, 67.7]
# 手动创建一个包含多种类型数据的列表
a = [1, 1.2, 'hhaha', (1, 3), [1, 0, 4], {'name': '小明', 'age': 18}]
结果示例:
1.2、使用内置函数list()创建(也可以用来将字符串、元组、字典、生成器转化成列表):
# 创建一个空列表,并赋值给变量a
a = list()
# 将字符串转成列表
a = list('abcd123')
# 将元组转成列表
a = list((1, 3, '你好'))
# 将字典转成列表(注意,只会使用到字典的键key)
a = list({'name': '小明', 'age': 18})
# 将生成器转成列表
a = list(range(1, 5))
结果示例:
2、使用列表推导式创建(需要搭配生成器range()使用),节省创建时间。
# 生成一个0-2构成的列表
[i for i in range(3)]
# 生成一个3-5构成的列表
[i+3 for i in range(3)]
# 生成一个由3个"a"构成的列表
["a" for i in range(3)]
# 生成一个由0-19之间的偶数构成的列表
[i for i in range(20) if i % 2 ==0]
结果示例:
3、列表的索引取值、切片取值、长度计算、遍历
注意:列表的索引值是从0开始的,列表中第1个元素的索引值就是0,第2个就是1。
3.1、索引取值
# 先定义一个列表用来演示操作
a = [1, 1.2, 'hhaha', (1, 3), [1, 0, 4]]
# 正索引取值,取出列表a中索引值为2的元素(使用空括号)
a[2]
# 负索引取值,取出列表a中倒数第1个元素(使用空括号)
a[-1]
3.2、切片取值
# 先定义一个列表用来演示操作
a = [1, 1.2, 'hhaha', (1, 3), [1, 0, 4]]
# 切片取值,取出列表a中索引值2开始的所有元素
a[2:]
# 切片取值,取出列表a中倒数第3个开始,往后的所有元素
a[-3:]
# 切片取值,取出列表a中索引值在2到4的元素
a[2: 4]
3.3、长度计算
# 先定义一个列表用来演示操作
a = [1, 1.2, 'hhaha', (1, 3), [1, 0, 4]]
# len()计算出列表长度
len(a)
3.4、列表的遍历
# 先定义一个列表用来演示操作
a = [1, 1.2, 'hhaha', (1, 3), [1, 0, 4]]
# 使用for循环,将列表的每个元素都打印一遍
for i in a:
print(i)
4、其他常用的操作(包括增、删、改、排序、统计、获取索引值、去重、字符串转列表、列表转字符串)
以下各个方法中,“索引”和“数据”不是直接写个“索引”和“数据”,而是要你传入具体的索引值和数据
例如:
# 给列表a插入元素,使用下面的insert方法,需要指明你要插入到哪个位置,插入什么数据
a = [1, 3, 4]
# 在列表a中,索引值为2的位置,插入一个"小明"
a.insert(2, '小明')
结果示例:
以下其他的各种操作方法,自己动手操作一下
a = [1, 3, 4, 5]
# 增加
a.insert(索引,数据) # 插入,需要传递2个参数,第一个是索引,第二个是插入的数据
a.append(b) # 插入,默认在末尾插入数据b,如果b是个列表,会整个添加到a里,包括中括号
a.extend(b) # 插入列表,降b列表拆开后逐一追加到末尾,无返回值。
# 修改替换
a[索引] = 数据 # 指定位置修改数据
# 删除
del a[索引] # 删除指定索引的数据,无返回值
a.remove(数据) # 删除第一个出现的数据,无返回值
a.pop() # 默认删除最后一个数据,返回所删除的数据
a.pop(索引) # 删除指定索引的数据,返回所删除的数据
a.clear() # 清空列表,无返回值
# 排序(正向排序和反向排序)
a.sort() # 按照升序排序
a.sort(reverse= False) # 按照升序排序
a.sort(reverse= True) # 按照降序排序
a.reverse() # 反转,整个倒转过来,无论你原来是怎么排序的,整个倒过来
# 统计
a.count('数据') # 计算数据出现的次数,返回一个数值
len(a) # 计算a的长度,返回一个数值
# 计算
max(a) # 计算列表a中的最大值
min(a) # 计算列表a中的最小值
# 获取某个元素的索引值
a = [1, 3, 4, 'hah']
a.index(3)
a.index('hah')
# 去重(先set去重,再转列表)
list(set(a))
# 字符串转列表(先按逗号切割,后转列表)
a = '郭靖,黄蓉,黄药师'
list(a.split(','))
# 列表转字符串(直接将每个元素拼接到一起)
a = ['郭靖', '黄蓉', '黄药师']
a = ''.join(a)
# 也可以在拼接的时候,在每个元素之间加个句号"。"
a = ['郭靖', '黄蓉', '黄药师']
a = '。'.join(a)