我想将列表的最后 3 项分配给各个变量。我所做的是:
l = ["1", "2", "3", "4", "5"]
a, b ,c = l[-1], l[-2], l[-3]
所以 a = "5", b = "4"c = "3"。
它有效,但我 99% 确定有更好的方法来做到这一点。我尝试了各种 for 循环,但根本无法使其工作。所以我正在寻找的基本上只是一个更好的版本,从列表末尾获取 X 数量的项目。
我是编程新手,我的 Google-Fu 失败了,所以我决定在这里提问。
编辑:
感谢您的回答,尽管我天真地认为我的问题是我需要的解决方案。 100% 是我不准确的错,就像提问前的页面告诉你的那样。到目前为止的答案确实回答了我的问题,所以非常感谢你帮助我,我已经学到了一些东西。
我真正想做的是:
我有一个很大的列表(实际上,在这个例子中不是),我想要其中的最后三个项目并将它们添加到一个字符串之后。我想将每个列表项作为一个单独的变量(也许不是正确的说法,但作为添加到字符串末尾的东西)添加到现有字符串中,这样:
a = ["1", "2", "3", "4", "5"]
for i in a:
print("something"+a[-i])
我想做的是:
something + 5
something + 4
something + 3
不幸的是,这没有用。从末尾开始迭代列表,但仅限于某一点(在本例中为倒数第 3 项)是我想要学习的。
也许我已经问过的问题可以用来做这个,但我就是做不到。无论如何,为我的第一个问题道歉,这无论如何都很糟糕。
请您参考如下方法:
从列表末尾的 3 个元素开始切片。
l = ["1", "2", "3", "4", "5"]
a, b ,c = l[-3:] #a,b,c = 3,4,5
a, b ,c = reversed(l[-3:]) #a,b,c = 5,4,3
