Python 如何使用循环及其他方法为多个列表批量追加指定字符串
问题复现
你当前的列表初始化代码为:
i1,i2,i3,i4,i5 = [],[],[],[],[]
需要为每个列表追加字符串"test"。
方案1:for循环实现
你之前循环失败大概率是遍历了变量名的字符串而非实际列表对象,正确写法如下:
# 遍历列表对象本身,直接调用append方法即可 for item in [i1, i2, i3, i4, i5]: item.append("test")
执行完成后每个列表都会包含"test"元素,可通过print(i1)验证输出为['test']。
方案2:无显式循环的实现方式
如果不想写显式for循环,可使用以下两种方法:
- 用map函数隐式迭代
# 套list是为了消费map迭代器触发执行,不需要保留返回结果 list(map(lambda x: x.append("test"), [i1,i2,i3,i4,i5])) - 定义阶段直接初始化带初始值的列表
如果你是刚定义这些列表,可以直接在定义时就统一生成带初始值的独立列表:# 用生成器表达式生成5个独立的列表,避免引用指向同一对象 i1,i2,i3,i4,i5 = (["test"] for _ in range(5))
注意:禁止使用
i1,i2,i3,i4,i5 = [["test"]]*5的写法,该写法会让5个变量指向同一个列表对象,修改任意一个变量都会同步修改所有其他变量。
内容的提问来源于stack exchange,提问作者Ziya Zülfikar
相关产品推荐
相关产品推荐

