假设我有一个清单:
l = ['foo', 'bar', 'baz']
如何将pre
附加到bar
以获得:
l = ['foo', 'prebar', 'baz']
答案 0 :(得分:2)
列表是可变的;字符串不是。因此,假设您知道要更改的字符串的索引:
l = ['foo', 'bar', 'baz']
i = 1
l[i] = 'pre' + l[i]
这会给l = ['foo', 'prebar', 'baz']
。
使用列表推导在内存中构造一个全新的列表,这浪费了资源(虽然对于小列表来说并不重要)。此方法会修改现有列表。
答案 1 :(得分:1)
您可以使用+操作数将字符串连接在一起。因此,您可以使用列表推导来遍历列表并更改与'bar'
相等的项目:
>>> l1=['pre'+i if i=='bar' else i for i in l1]
>>> l1
['foo', 'prebar', 'baz']
答案 2 :(得分:0)
除了另一个答案,您还可以直接更改列表:
l[1] = l[1] + "bar"
答案 3 :(得分:0)
l=['pre'+i if i=='bar' else i for i in l]
l
['foo', 'prebar', 'baz']
<强>结果强>
['foo', 'prebar', 'baz']