Python 通过第三个列表的索引将一个列表的值添加到另一个列表的值中,并输出前两个列表中的一个列表的方法是什么?

Python 通过第三个列表的索引将一个列表的值添加到另一个列表的值中,并输出前两个列表中的一个列表的方法是什么?,python,indexing,sum,Python,Indexing,Sum,假设我有三个列表: list1 = [1, 2, 3] list2 = [4, 3, 4] list3 = [0, 0, 0, 0] 我想写一些输出的代码: outputlist = [4, 3, 4, 0] 其中,列表1中某项的值指示列表3中该项的位置值*,列表2中该项的值和第一个列表中的项具有相同的索引被添加到该列表中。这是一口,让我举个例子: *(注意:如果列表1中某项的值为n,则列表3中的索引我希望它表示为(n-1)) 清单1[2]=3。因此,必须将值list2[2](=4)添加到值

假设我有三个列表:

list1 = [1, 2, 3]
list2 = [4, 3, 4]
list3 = [0, 0, 0, 0]
我想写一些输出的代码:

outputlist = [4, 3, 4, 0]
其中,列表1中某项的值指示列表3中该项的位置值*,列表2中该项的值和第一个列表中的项具有相同的索引被添加到该列表中。这是一口,让我举个例子:

*(注意:如果列表1中某项的值为n,则列表3中的索引我希望它表示为(n-1))

清单1[2]=3。因此,必须将值list2[2](=4)添加到值list3[3](=0)并作为outputlist[3]=0+4=4输出到outputlist

我希望这足够清楚地解释我想要得到什么

目前我正在压缩一个计数器。集合功能

counted_numbers = counter.Collections(list_of_numbers)
print(counted_numbers)
输出:

Counter({number: frequency}, {number: frequency}, ...)
并且,通过使用代码:

counteds = list(sorted(collections.Counter(list_of_numbers).items()))
numbers, theirFrequency = list(zip(*counteds))
python创建了两个单独的列表,数字及其频率,包含数字及其频率以及相应的索引,这非常好。数字及其频率基本上分别采用列表1和列表2的形式

因此,现在在所有这些上下文中重复这个问题,我如何将列表2中的项的值与列表3中的值相加,列表3中的值的索引对应于列表1中的项的值,列表1中的项的索引对应于列表2中的项的索引

因此,如果列表1和列表2中都没有第4项(即索引3),代码仍然会为outputlist中的第4项(第3个索引)输出一个零,并添加所有其他索引

顺便说一句,求和函数对我的代码的其余部分至关重要,因此必须将列表2中的项添加到列表3中的项,而不应替换列表3中的项


谢谢。

这是否有助于
res=[list2[i-1]+list3[i]查找列表1中的i]
尽管它正在考虑范围内的i(len(list1))的所有大小相同的列表
:l1=list1[i];l2=列表2[i];清单3[l1-1]+=l2
。如上所述,您希望从
list1
@sahasrara62的值将
list3
索引分配为
n-1
,遗憾的是“列表索引超出范围”。不过,谢谢你的建议!您可以通过列表理解来做到这一点,但您需要了解如何使用索引添加,以及当列表中存在差异时会发生什么length@HenryTjhia成功了!