0

我有一个单词列表,但我需要从列表中删除最后一项,对列表的其余部分执行一个功能,然后替换最后一项。但是由于某种原因,当我去更换最后一个项目时,它会这样做......

>>> List = ['this', 'is', 'a', 'list']
>>> last = List[-1]
>>> others = List[:-1]
>>> others += last
>>> print others
['this', 'is', 'a', 'l', 'i', 's', 't']

有什么方法可以将最后调用的列表连接到其他列表,但只有一个元素。

4

4 回答 4

3

尝试使用append

others.append(last)

您可以通过执行以下操作进一步简化代码:

last = List.pop()

这将删除最后一个元素,或者List如果没有指定参数,并将其保存在变量last中为您

于 2013-04-03T18:38:04.230 回答
2

使用追加而不是 +=:

>>> others.append(last)
于 2013-04-03T18:41:10.553 回答
1

利用:

others.append(last) 

代替

others += last

这是因为

当你在做

list += ["somethingHere"] 

相当于

list.extend(["somethingHere"])

根据文档

list.extend(L) = 通过附加给定列表中的所有项目来扩展列表

list.append(x) = 将一个项目添加到列表末尾

而你在这里需要的是“添加一个项目”而不是“附加给定列表中的所有项目” (在这种情况下是所有字符。)

于 2013-04-03T18:46:02.483 回答
0

请使用以下之一:

others += [last]
others.append(last)

+例如list正在迭代添加到它的元素,因此迭代字符串你会得到字符列表。

others += 'string'
others += ['s', 't', 'r', 'i', 'n', 'g']
于 2013-04-03T18:38:11.763 回答