九、python基础:数据容器(列表的相关操作),较全面

九、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中索引值在24的元素
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)
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值