我有一个python中的字符串元素列表,elements
并希望编辑元素中的每个元素,所以我有一个新元素.请参阅下面的代码(它不起作用,但你会得到这个想法):
for element in elements:
element = "%" + element + "%"
Run Code Online (Sandbox Code Playgroud)
有没有办法做到这一点?
JBe*_*rdo 80
elements = ['%{0}%'.format(element) for element in elements]
Run Code Online (Sandbox Code Playgroud)
Ach*_*him 14
您可以使用列表理解:
elements = ["%" + e + "%" for e in elements]
Run Code Online (Sandbox Code Playgroud)
Python 3.6+ 版本(f 字符串):
elements = [f'%{e}%' for e in elements]
Run Code Online (Sandbox Code Playgroud)
您可以使用列表推导:
elements = ["%{}%".format(element) for element in elements]
Run Code Online (Sandbox Code Playgroud)
基本上有两种方法可以完成您想要的操作:编辑您拥有的列表,或者创建一个包含您想要的更改的新列表。当前的所有答案都显示了如何使用列表理解(或 )map()
来构建新列表,我同意这可能是要走的路。
另一种可能的方法是迭代列表并就地编辑它。如果列表很大并且您只需要更改一些内容,您可以这样做。
for i, e in enumerate(elements):
if want_to_change_this_element(e):
elements[i] = "%{}%".format(e)
Run Code Online (Sandbox Code Playgroud)
但正如我所说,我建议您使用列表理解答案之一。