python中二维数组的比较

python中二维数组的比较,python,arrays,uid,Python,Arrays,Uid,我的列表如下所示(这些数字是UID): 我想取这两个列表的差异,并将其输出到类似以下的列表中: badusers = [hacker, hacker2] 第一个问题是列表的结构 每个列表之间需要用逗号分隔 sysusers = [['user1'],[7972], ['user2'],[2121], ['hacker'],[2132], ['hacker2'],[1232]] users = [['use

我的列表如下所示(这些数字是UID):

我想取这两个列表的差异,并将其输出到类似以下的列表中:

badusers = [hacker,
           hacker2]

第一个问题是列表的结构

每个列表之间需要用逗号分隔

sysusers = [['user1'],[7972],
           ['user2'],[2121],
           ['hacker'],[2132],
           ['hacker2'],[1232]]

users = [['user1'],[7972],
        ['user2'],[2121]]
一旦这是正确的,访问您需要的数据就很简单了

goodusers = []

for i in users:
    for j in i:
        for k in sysusers:
            for l in k:
                if l == j:
                    goodusers.append(k)

badusers = [x for x in sysusers if x not in goodusers]
print(badusers)

[['hacker'], [2132], ['hacker2'], [1232]]

好的,那么这样做
users=[['user1'][7972],'user2'][2121]]
是无效的syntax@StefanPochmann理论上,如果UID是片(例如,
['astring'][3])=='r'
),这是有效的语法,但是,即使你没有左右索引器,你也会得到一个字符串列表(例如,
['u','i','h']
)。令人费解的是,当元组集或字典{UID:name}可以更好地为您服务时,您为什么选择这种类型的数据结构。@Whooper挑剔:这是一个列表而不是数组。@offbyone它的语法有效,句号。不仅仅是在理论上(这到底是什么意思?)。嗯?我为什么选择这种类型的数据结构令人费解?我没有。我的错,在我的实际代码中有逗号分隔。我的答案有帮助吗,还是我误读了问题lol。。。。。而且用逗号更新问题
goodusers = []

for i in users:
    for j in i:
        for k in sysusers:
            for l in k:
                if l == j:
                    goodusers.append(k)

badusers = [x for x in sysusers if x not in goodusers]
print(badusers)

[['hacker'], [2132], ['hacker2'], [1232]]