我有一个单词列表,但我需要从列表中取出最后一项,使用列表的其余部分执行一个函数,然后替换最后一项。但出于某种原因,当我去替换最后一项时,它会这样做......
>>> List = ['this', 'is', 'a', 'list']
>>> last = List[-1]
>>> others = List[:-1]
>>> others += last
>>> print others
['this', 'is', 'a', 'l', 'i', 's', 't']
有没有什么方法可以将名为last的列表连接到其他列表,但只有一个元素。
答案 0 :(得分:3)
尝试使用append
others.append(last)
您可以通过以下方式进一步简化代码:
last = List.pop()
如果未指定参数,则会删除最后一个元素或List
,并将其保存在变量last
中
答案 1 :(得分:2)
使用append代替+ =:
>>> others.append(last)
答案 2 :(得分:1)
使用:
others.append(last)
而不是
others += last
这是因为:
当你做的时候
list += ["somethingHere"]
它相当于
list.extend(["somethingHere"])
根据doc,
list.extend(L)=通过附加给定列表中的所有项目来扩展列表
但是
list.append(x)=将项目添加到列表的末尾
这里你需要的是“添加 项目”不要“追加所有给定列表中的项目”(在这种情况下所有字符) 。)
答案 3 :(得分:0)
请使用以下一个:
others += [last]
others.append(last)
+
个实例的 list
正在迭代添加到它的元素,因此迭代字符串就可以获得字符列表。
others += 'string'
others += ['s', 't', 'r', 'i', 'n', 'g']