前言

如果说字符串是倔驴,那列表(List)就是随和的二哈。它可变!你想往里面塞什么塞什么,想删谁删谁,想插队插队。它是Python中最常用的“数据麻袋”。

1. 定义:这个背包随便装

列表用方括号 [],里面放啥都行,甚至套娃(嵌套)。

# 空背包
bag = []

# 杂货铺背包(啥玩意都有)
bag = ["苹果", 666, 3.14, True, ["小刀", "绳子"]]  # 最后一个元素是另一个背包!

print(bag[4][0])  # 输出:小刀(从套娃里拿东西)

2. 索引:跟字符串一样,门牌号清晰

lst = ['A', 'B', 'C', 'D']
print(lst[0])   # A
print(lst[-1])  # D (倒数第一)

3. 切片:还是“顾头不顾腚”的老规矩

num = [0, 1, 2, 3, 4, 5]
print(num[1:4])  # [1, 2, 3]
print(num[::-1]) # [5, 4, 3, 2, 1, 0] 翻个底朝天

4. 遍历:把背包里的东西倒出来看看

goods = ["鼠标", "键盘", "显示器"]

for item in goods:
    print(f"我买了{item}")

如果想同时拿到编号(索引)和东西:

for index, item in enumerate(goods):
    print(f"第{index}个位置放着{item}")

5. 常用方法(打工人必须背下来的“七种武器”)

① 增:往包里塞东西
append():屁股后面追加(最常用,像排队入伙)

insert(位置, 东西):插队(指定位置插入)

extend([新东西]):批量合并(把另一个包里的东西全倒进来)

lst = [1, 2]
lst.append(3)        # [1, 2, 3]
lst.insert(1, 99)    # [1, 99, 2, 3] (在1号位置插了个99)
lst.extend([4, 5])   # [1, 99, 2, 3, 4, 5]

② 删:把包里的垃圾扔掉
pop(索引):点名踢出去(不写索引默认踢最后一个,还会把踢掉的东西还给你)

remove(值):看见第一个就删(不知道位置,只知道长啥样)

clear():一键清空,毁尸灭迹

lst = ["a", "b", "c", "b"]
lst.pop(1)      # 删掉"b",返回"b",现在列表是 ['a','c','b']
lst.remove("b") # 删掉第一个"b",现在列表是 ['a','c']

③ 改与查
index(值):找东西在哪(找不到直接报错,建议先用 in 问一下)

count(值):数一数包里有几个这玩意儿

④ 排序与反转(强迫症福音)
sort():原地排序,默认从小到大(升序)

sort(reverse=True):从大到小(降序)

reverse():直接倒过来,不管大小

nums = [3, 1, 4, 1, 5]
nums.sort()        # [1, 1, 3, 4, 5]
nums.reverse()     # [5, 4, 3, 1, 1]

⑤ 复制(小心踩坑!)
千万别直接 new = old,那只是给背包贴了个新标签,改一个另一个也跟着变。
要用 copy()(浅拷贝):

a = [1, 2, [3, 4]]
b = a.copy()
b[0] = 999    # a 不变,安全!

最后一句人话

`列表是万能背包,随便增删改查,想插队就插队,想倒序就倒序。用于存批量数据、循环处理数据。

Logo

Agent 垂直技术社区,欢迎活跃、内容共建。

更多推荐