Python:循环遍历列表?

时间:2016-04-12 02:59:02

标签: python list loops

我有一个列表,例如:

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

我想将mylist的所有值附加到不同的列表(new_list),并将字符串“letter”添加到new_list的每个值(最后一个除外)(值:end)

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

new_list = []

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

产生:

  

(“一封信”,“一封信”,“结束信”)

我想:

  

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

3 个答案:

答案 0 :(得分:5)

最好通过列表推导和切片来实现:

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

答案 1 :(得分:2)

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

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

按预期工作:

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

答案 2 :(得分:1)

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

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