【发布时间】:2015-01-12 23:19:27
【问题描述】:
我有一个元组列表并想创建一个新列表。 新列表的元素是用新列表的最后一个元素(第一个元素为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 新手,感谢任何帮助。
【问题讨论】:
-
new_list[i]将失败,除非 new_list 与list_of_tuples[:-1]一样长
标签: python list loops tuples enumerate