我有一個python elements
中的字符串元素列表,並希望編輯元素中的每個元素,所以我有一個新元素。看到下面的代碼(它不工作,但你會明白):對Python列表中的每個元素執行字符串操作
for element in elements:
element = "%" + element + "%"
有沒有辦法做到這一點?
我有一個python elements
中的字符串元素列表,並希望編輯元素中的每個元素,所以我有一個新元素。看到下面的代碼(它不工作,但你會明白):對Python列表中的每個元素執行字符串操作
for element in elements:
element = "%" + element + "%"
有沒有辦法做到這一點?
elements = ['%{0}%'.format(element) for element in elements]
您可以使用列表理解:
elements = ["%" + e + "%" for e in elements]
您可以使用列表理解:
elements = ["%{}%".format(element) for element in elements]
elements = map(lambda e : "%" + e + "%", elements)
基本上有兩種方式,你可以做你想做的:要麼編輯你有的列表,或者創建一個新的列表,其中包含所需的更改。目前所有的答案都顯示瞭如何使用列表理解(或map()
)來構建新列表,我同意這可能是一條路。
另一種可能的方式是迭代列表並對其進行編輯。如果列表很大並且只需要更改一些,則可以這樣做。
for i, e in enumerate(elements):
if want_to_change_this_element(e):
elements[i] = "%{}%".format(e)
但正如我所說,我建議你使用列表解析答案之一。
現在看到這種格式有幾次了。有沒有我可以學習的地方? – locoboy
@ cfarm54是的,[docs](http://docs.python.org/library/string.html#format-string-syntax)相當不錯 – JBernardo
對不起.format片斷,代碼的語法括號。 – locoboy