Python 尝试将列表中的元素添加到一起

Python 尝试将列表中的元素添加到一起,python,Python,我有以下代码。正如您所注意到的,三个for循环是相同的,除了第二个customerList的索引在每次迭代中增加一个之外。我要做的是,当通话在同两个人之间时,将通话长度添加到列表hey。这个方法是有效的,但是我需要为大约80个不同的调用方/接收方组合继续它。有什么好办法吗 for i in range(0, len(listOfCalls)): if listOfCalls[i][1] == customerList[0][1] or listOfCalls[i][1] == custo

我有以下代码。正如您所注意到的,三个for循环是相同的,除了第二个
customerList
的索引在每次迭代中增加一个之外。我要做的是,当通话在同两个人之间时,将通话长度添加到列表
hey
。这个方法是有效的,但是我需要为大约80个不同的调用方/接收方组合继续它。有什么好办法吗

for i in range(0, len(listOfCalls)):
    if listOfCalls[i][1] == customerList[0][1] or listOfCalls[i][1] == customerList[2][1]:
        if listOfCalls[i][2] == customerList[0][1] or listOfCalls[i][2] == customerList[2][1]:
            hey[1] += int(listOfCalls[i][3])  


for i in range(0, len(listOfCalls)):
    if listOfCalls[i][1] == customerList[0][1] or listOfCalls[i][1] == customerList[3][1]:
        if listOfCalls[i][2] == customerList[0][1] or listOfCalls[i][2] == customerList[3][1]:
            hey[2] += int(listOfCalls[i][3])


for i in range(0, len(listOfCalls)):
    if listOfCalls[i][1] == customerList[0][1] or listOfCalls[i][1] == customerList[4][1]:
        if listOfCalls[i][2] == customerList[0][1] or listOfCalls[i][2] == customerList[4][1]:
            hey[3] += int(listOfCalls[i][3])  

这是我想你想要的。我想你是想确定两个人打电话给另一个人的总时间,不管是谁打电话给谁。与其使用列表“hey”,不如制作一个字典“hey”,其中键是按排序顺序排列的元组(caller1,caller2)。比如说:

hey = {}
for call in listOfCalls:
    caller1, caller2, dur = call
    key = tuple(sorted((caller1, caller2)))
    if key in hey:
         hey[key] += int(dur)
    else:
         hey[key] = int(dur)

为什么不用
循环编写一个函数,然后用新的
索引调用它呢。呼叫列表、客户列表和hey看起来像什么?您试图获得的输出是什么?ListoCalls是一个大约一千个电话的列表,其中第一个元素是呼叫者,第二个元素receiver和第三个元素call length customerList是9个不同客户的列表,第一个元素是他们的号码hey只是一个空列表,我正在尝试获取每个呼叫方之间的总呼叫长度。显然,您正在尝试计算一些总和。你能用自然语言表达你想总结的东西吗?如何确定~80个呼叫者/接收者组合?是否有一些规则将它们配对,或者配对来自列表?最终目标是输出一个文件,其中指示列表中两个号码之间的呼叫长度,而不管是谁呼叫谁。因此,最终输出将是2,356677,例如,2和3个引用呼叫列表中的号码,最后一个号码是我从未想过使用元组作为键的呼叫长度。。。然而,它说我有太多的值要在这个编解码器的第三行中解包,你发布了ListoFall的前几个元素。它是一个平面列表还是列表列表?我对它进行了修改,使调用者1调用者2和dur设置为与列表中的相应元素相等。所以现在我有一本字典,里面有需要的东西。非常感谢。跟进问题。如果我想将每个呼叫者号码分配给一个特定的号码,即7801234567=1、7801236789=2等等,我将如何使用新创建的字典来实现这一点特定的号码来自哪里?听起来你又在描述字典了。制作新的类似dict的客户端地图[1]=