首页 > 解决方案 > 尝试将公共值附加到数组中的特定数字。PYTHON

问题描述

所以基本上我试图在一个像数组一样的元组中附加数字,另一个数字在一个特定的位置。输入将是:

list1 = [(0, 1), (0, 2), (0, 3), (1, 4), (1, 6), (1, 7), (1, 9)]

这就是我要的:

(0, [1, 2, 3]), (1, [0, 4, 6, 7, 9])

list1 = [(0, 1), (0, 2), (0, 3), (1, 4), (1, 6), (1, 7), (1, 9)]
list2 =[0, 1]
for k in list2:
    coollist = []
    for i in list1:
        for j in range(len(i)):
            if k == j[0]:
                coollist.append(j[1])
            if k==j[1]:
                coollist.append(j[0])
print(coollist)

我得到的是:TypeError:'int' object is not subscriptable

标签: pythonlistloopstuplesappend

解决方案


这似乎是一个可行的解决方案

list1 = [(0, 1), (0, 2), (0, 3), (1, 4), (1, 6), (1, 7), (1, 9)]
list2 =[0, 1]
for n,k in enumerate(list(list2)):
    coollist = []
    for i in list1:
        if k == i[0]:
            coollist.append(i[1])
    list2[n] =(list2[n],[_ for _ in coollist])
print(list2) # output [(0, [1, 2, 3]), (1, [4, 6, 7, 9])]

推荐阅读