python容器--列表list

序列性容器–列表

列表:
类似于数组,可以存储多种类型的数据
例如:字符串,汉字,单个字符,列表,等等
list[10,20,30,a,asd,[1,2,3,]]

列表也是一个序列式容器, 同样支持索引和切片语法.

# 创建空列表
my_list = []
# 创建带有元素的列表
my_list = [10, 20, 30]

# 通过索引来访问列表中元素
print(my_list[0])
# 也可以通过索引来修改元素
my_list[0] = 100
# 通过切片语法获得区间元素
print(my_list[1:])

# 列表可存储不同类型的数据
my_list = ['John', 18, True]

# 列表中也可存储列表
my_list = [[10, 20], [30, 40], [50, 60]]

注意: 列表中支持存储不同类型的数据, 如果有没有特殊需求, 建议存储相同类型数据. 这样可以对数据应用统一的操作.

列表的操作

1.列表遍历

在这里插入图片描述

list=[1,2,3,4,5,6]
i=0
while i<len(list):
	print(list[i],end="\t")
	i += 1

运行结果:
	1	2	3	4	5	6
2.列表查找和修改

已知: 列表中包含 5 个元素, 分别为: 10、20、30、40、50. 需要将列表中 40 这个元素替换成 100, 如何实现?

1.列表不存在类似字符串 replace 的方法.
2.查询 40 这个元素在列表中的索引位置.
3.根据索引位置修改元素为 100.

index 方法可以根据值查找, 查找到返回该值元素所在的位置, 查找失败会报错, 程序终止. 我们可以先使用 count 方法可以统计值出现的次数, 如果不为0, 再使用 index 方法.

my_list = [10, 20, 30, 40, 50]
# 要修改的值
old_value = 40
# 更新的新值
new_value = 100
# 判断要修改的值是否存在
if my_list.count(old_value):
    # 获得指定值的位置
    position = my_list.index(old_value)
    # 根据值来修改元素
    my_list[position] = new_value

print(my_list)

运行结果:
	[10, 20, 30, 100, 50]
3.列表的插入和删除元素

插入元素分为:

  • 1.插入单一元素
    1.1尾插(append方法)
    1.2.指定位置插入(insert方法)
  • 2.插入一个列表(多个元素)(extend方法,追加到尾部)
list=[10,90,30,40,50,20]
list1=[1,2,3]

# 插入
list.append(100)
print(list)

list.insert(1,200)
print(list)

list.extend(list1)
print(list)

运行结果:
	[10, 90, 30, 40, 50, 20, 100]
	[10, 200, 90, 30, 40, 50, 20, 100]
	[10, 200, 90, 30, 40, 50, 20, 100, 1, 2, 3]

删除元素分为:
1.根据值删除, 使用 remove 方法. 该方法只能删除第一次出现的值.
2.根据索引删除, 使用 pop 方法, 该方法不传递索引时默认删除最后一个元素, 传递索引则根据索引删除元素.

list=[10,90,30,40,50,20]

list.remove(10)
print(list)

list.pop()
print(list)

list.pop(2)
print(list)

运行结果:
	[90, 30, 40, 50, 20]
	[90, 30, 40, 50]
	[90, 30, 50]
4.列表元素排序

排序指的是记录按照要求排列.

列表提供了相关方法来对列表中的元素进行排序. 分别是:
1.将列表中的元素反转.
2.列表中的元素升序(从小到大)、降序排列(从大到小).

list=[10,90,30,50,40,20]

# 对列表中的反转
list.reverse()
print('反转:', list)

# 对列表中的元素排序, 默认升序
list.sort()
print('升序排序:', list)

# 对列表中的元素排序, 降序排列
list.sort(reverse=True)
print('降序排序:', list)

运行结果:
	反转: [20, 40, 50, 30, 90, 10]
	升序排序: [10, 20, 30, 40, 50, 90]
	降序排序: [90, 50, 40, 30, 20, 10]
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值