Python基础篇 - 列表(list)的操作

本文介绍了Python中列表的基本操作,包括创建、元素访问与修改、追加、插入、删除、排序、切片、列表合并、去重以及转换为set和字典的方法。
摘要由CSDN通过智能技术生成

古人:紫电青霜,王将军之武库;俗语:磨刀不误砍柴工;鸡汤:工欲善其事,必先利其器; 都有点道理 ^^

Python 中有一些常用的数据类型,列表(list)是其中最常用的,绝大多数的操作都可能会用到,值得多花点时间来掌握

  1. 列表基本操作
# 1. 创建列表
my_list = []  # 创建一个空列表
my_list = list()  # 创建一个空列表
my_list = [1, 2, 3, "a", "b"]  # 创建时直接设置元素

# 2. 访问元素
print(my_list[0])  # 输出 1
print(my_list[1])  # 输出 2

# 3. 修改元素
my_list[0] = "a"  # 将第一个元素从1改为"a"

# 4. 追加元素
my_list.append("c")  # 在列表末尾添加字符串"c"

# 5. 插入元素
my_list.insert(1, "b")  # 在索引1插入字符串"b"

# 6. 删除元素
my_list.remove("b")  # 删除值为"b"的第一个元素
popped = my_list.pop(2)  # 删除并返回索引为2的元素

# 7. 清空列表
my_list.clear()  # 清空列表

# 7. 列表排序
my_list.clear()  # 清空列表
my_list.append(3)
my_list.append(2)
my_list.append(1)
my_list.append(0)
my_list.sort(reverse=True)  # (降序)排序列表
sorted_list = sorted(my_list)  # 返回一个新的已(升序)排序列表

# 7. 查询元素
my_list = [1, 2, 3]
ix = my_list.index(1) # 值为1的第一个元素索引,ix = 0

  1. 列表切片

列表切片是Python中非常实用的一个功能,用来提取列表中的一部分元素
切片的写法是 [start:stop:step],其中 start 是起始索引(包含),stop 是结束索引(不包含),step 是步长。如果省略步长,则默认为1

my_list = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]

# 切片示例
print(my_list[2:6])  # [2, 3, 4, 5]
print(my_list[::2])  # [0, 2, 4, 6, 8]
  1. 列表合并

使用 + 运算符或 extend() 方法来合并两个列表。

my_list1 = [1, 2, 3]
my_list2 = [4, 5, 6]

# 使用 + 运算符合并
print(my_list1 + my_list2)  # [1, 2, 3, 4, 5, 6]

# 使用 extend() 方法合并
my_list1.extend(my_list2)
print(my_list1)  # [1, 2, 3, 4, 5, 6]
  1. 列表转成set

使用 set() 函数将列表转换成集合(set);集合是一个无序的不重复元素集。需要注意的是,列表本身也是可变的,转换为集合并不会改变原来的列表。

list1 = [1, 2, 2, 3, 3, 3]
set1 = set(list1)
print(set1)  # {1, 2, 3}
  1. 列表去重

有多种方法可以实现列表去重;一种是使用集合(set)来去重,然后再转换回列表;另一种是使用 list()dict.fromkeys() 方法;还有一种是使用列表推导式

my_list = [1, 2, 2, 3, 3, 3]

# 使用集合去重
print(list(set(my_list)))  # [1, 2, 3]

# 使用字典去重
print(list(dict.fromkeys(my_list)))  # [1, 2, 3]
print(list({x: None for x in my_list}))  # [1, 2, 3]

# 使用列表推导式去重
print([x for i, x in enumerate(my_list) if x not in my_list[:i]])  # [1, 2, 3]
  1. 列表转成字典

列表转换成字典,需要两个列表

一个列表作为键、一个列表作为值;使用 zip() 函数和 dict() 函数来实现。

keys = ['a', 'b', 'c']
values = [1, 2, 3]

print(dict(zip(keys, values)))  # {'a': 1, 'b': 2, 'c': 3}

注意:Python中的列表可以放不同类型的元素,列表索引下标从0开始

may the odds be ever in your favor ~

  • 7
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

长孤秋落

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值