簡體   English   中英

Python - 沒有最后一個元素的列表

[英]Python - Go through list without last element

我有一個元組列表,想要創建一個新列表。 使用新列表的最后一個元素(第一個元素為0)和舊列表的下一個元組的第二個元素計算新列表的元素。

要更好地理解:

list_of_tuples = [(3, 4), (5, 2), (9, 1)]  # old list
new_list = [0]
for i, (a, b) in enumerate(list_of_tuples):
  new_list.append(new_list[i] + b)

所以這是解決方案,但不必計算新列表的最后一個元素。 所以不想要最后一個元素。

是否有一種創建新列表的漂亮方式? 到目前為止,我的解決方案是使用范圍,但看起來並不那么好:

for i in range(len(list_of_tuples)-1):
  new_list.append(new_list[i] + list_of_tuples[i][1])

我是python的新手,所以任何幫助都表示贊賞。

您可以簡單地使用切片表示法跳過最后一個元素:

for i, (a, b) in enumerate(list_of_tuples[:-1]):

以下是演示:

>>> lst = [1, 2, 3, 4, 5]
>>> lst[:-1]
[1, 2, 3, 4]
>>> for i in lst[:-1]:
...     i
...
1
2
3
4
>>>

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM