Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/list/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python:在列表中循环?_Python_List_Loops - Fatal编程技术网

Python:在列表中循环?

Python:在列表中循环?,python,list,loops,Python,List,Loops,我有一个清单,例如: mylist=["a", "b", "end"] 我想将mylist的所有值附加到一个不同的列表(new_list)中,并将字符串“letter”添加到新_列表的每个值中,最后一个除外(value:end) 到目前为止,我有一个for循环,它将字符串“字母”添加到所有值中: new_list = [] for x in my_list: new_list.append(x + " letter") 产生: (“a字母”、“b字母”、“结束字母”) 我想: (“a

我有一个清单,例如:

mylist=["a", "b", "end"]
我想将mylist的所有值附加到一个不同的列表(new_list)中,并将字符串“letter”添加到新_列表的每个值中,最后一个除外(value:end)

到目前为止,我有一个for循环,它将字符串“字母”添加到所有值中:

new_list = []

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

(“a字母”、“b字母”、“结束字母”)

我想:

(“a字母”、“b字母”、“结束”)


我们必须跳过最后一个元素,为此使用列表切片;使用列表理解也会派上用场。试试这个:

mylist   = ['a', 'b', 'end']
new_list = [x + ' letter' for x in mylist[:-1]] + [mylist[-1]]
它按预期工作:

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

这最好通过列表理解和切片实现:

>>> new_list = [s + ' letter' for s in mylist[:-1]] + mylist[-1:]
>>> new_list
['a letter', 'b letter', 'end']
您可以将
“字母”
添加到列表中除最后一个之外的每个元素,然后只添加最后一个

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

为什么列表中包含
“end”
?简单地终止列表可能会更清楚。嗯,所有这些临时列表。。。避免使用临时字符-
[s+'letter'if i
,但同样难看。