02
列表 / 字典操作 · 1 / 6
2.1 列表的增删改查
💡 一批推理请求就是一个 list;动态拼 batch 是推理服务的核心操作
2.1 列表的增删改查
list = 可变、有序、允许重复
prompts = ["hi", "hello"]
# 查
prompts[0] # "hi"
prompts[-1] # "hello"(倒数第 1 个)
len(prompts) # 2
"hi" in prompts # True
# 增
prompts.append("hey") # 末尾加一个
prompts.insert(0, "yo") # 开头插一个
prompts.extend(["a", "b"]) # 末尾拼另一个 list
# 改
prompts[0] = "改写"
# 删
prompts.pop() # 删末尾并返回
prompts.pop(0) # 按索引删
prompts.remove("hi") # 按值删(删第一个匹配)
del prompts[0] # 按索引删(不返回值)
示范
batch = []
batch.append({"id": 1, "prompt": "hi"})
batch.append({"id": 2, "prompt": "hello"})
print(batch[0]["prompt"]) # hi
batch[-1]["prompt"] = "改写后的 hello"
print(batch)
✍️ 练习
从一个空 list 开始,按顺序执行:
append "request-1"append "request-2"insert(0, "request-0")- 把索引 1 的元素改成
"request-X" - 删掉末尾元素
每一步后用 print 打印当前 list。
💡 思路提示
点开看提示
- 注意:
insert后列表会变长,再访问索引时要算清楚 - 改完后用
print(list)看整体 pop()默认删末尾,会返回被删的值
✅ 参考解法
写不出来再打开
prompts = []
prompts.append("request-1")
print(prompts)
prompts.append("request-2")
print(prompts)
prompts.insert(0, "request-0")
print(prompts)
prompts[1] = "request-X"
print(prompts)
prompts.pop()
print(prompts)
🔍 进阶思考
append 和 extend 的区别:
append(x):把整个对象塞进去(list 里嵌套一个 list)extend(iter):把元素一个个拆开铺平