簡體   English   中英

Python:循環遍歷列表?

[英]Python: looping through a list?

我有一個列表,例如:

mylist=["a", "b", "end"]

我想將mylist的所有值附加到不同的列表(new_list),並將字符串“letter”添加到new_list的每個值,除了最后一個(value:end)

到目前為止,我有一個for循環,它將字符串“letter”添加到所有值:

new_list = []

for x in my_list:
   new_list.append(x + " letter")

產生:

(“一封信”,“b字母”,“結束信”)

我想要:

(“一封信”,“b字母”,“結尾”)

這可以通過列表推導和切片來實現:

>>> new_list = [s + ' letter' for s in mylist[:-1]] + mylist[-1:]
>>> new_list
['a letter', 'b letter', 'end']

我們必須跳過最后一個元素,為此使用列表切片; 使用列表理解也會派上用場。 嘗試這個:

mylist   = ['a', 'b', 'end']
new_list = [x + ' letter' for x in mylist[:-1]] + [mylist[-1]]

它按預期工作:

new_list
=> ['a letter', 'b letter', 'end']

您可以為列表中除最后一個元素之外的每個元素添加" letter" ,然后只添加最后一個元素。

new_list = [x + " letter" for x in my_list[:-1]] + [my_list[-1]]

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM