比较3个不同列表的位置和元素 - python

我正在尝试比较3个不同列表的位置和元素,然后将它们保存在新列表中(如果在相同位置的至少2个元素匹配)。

例如:

a = [FF2, FF6, FC4]
b = [FB5, FB3, FC4]
c = [FF2, FB3, FM8]

Result = [FF2, FB3, FC4]

在开始时,我使用以下代码比较2个列表,并尝试通过在for i1之后添加一个额外的for循环,并在我的if中添加一个or来使它适应3个列表,但是出现了严重错误(几乎10次更多的值与预期的一样)。

for i, v in enumerate(a):
    for i1, v1 in enumerate(b):
        if (i==i1) & (v==v1):
            Result.append(v)

这是我目前的方法,工作正常,但是我不知道如何将匹配的值附加到我的Result列表中。

Result = list(x for x, (xa, xb, xc) in enumerate(zip(a, b, c))
     if xa == xb or xb == xc or xa == xc)

参考方案

al = ['FF2', 'FF6', 'FC4']
bl = ['FB5', 'FB3', 'FC4']
cl = ['FF2', 'FB3', 'FM8']

res = []
for a,b,c in zip(al, bl, cl):
    if a == b or b == c or c == a:
        if a == b:
            res.append(a)
        elif b == c:
            res.append(b)
        elif c == a:
            res.append(c)

print(res)

您可以同时遍历3个列表并追加到结果列表中。使用zip()

单行的'if'/'for'语句是否使用Python样式好? - python

我经常在这里看到某人的代码,看起来像是“单线”,这是一条单行语句,以传统的“if”语句或“for”循环的标准方式执行。我在Google周围搜索,无法真正找到可以执行的搜索类型?任何人都可以提出建议并最好举一些例子吗?例如,我可以一行执行此操作吗?example = "example" if "exam" in exam…

Python:使用两个列表进行字典 - python

如何使用python使用两个列表作为字典list_one_keys = ['key1', 'key2', 'key3', 'key4'] 嵌套列表:list_two_values = [['a1var1', 'a1var2', '…

在返回'Response'(Python)中传递多个参数 - python

我在Angular工作,正在使用Http请求和响应。是否可以在“响应”中发送多个参数。角度文件:this.http.get("api/agent/applicationaware").subscribe((data:any)... python文件:def get(request): ... return Response(seriali…

Python exchangelib在子文件夹中读取邮件 - python

我想从Outlook邮箱的子文件夹中读取邮件。Inbox ├──myfolder 我可以使用account.inbox.all()阅读收件箱,但我想阅读myfolder中的邮件我尝试了此页面folder部分中的内容,但无法正确完成https://pypi.python.org/pypi/exchangelib/ 参考方案 您需要首先掌握Folder的myfo…

python JSON对象必须是str,bytes或bytearray,而不是'dict - python

在Python 3中,要加载以前保存的json,如下所示:json.dumps(dictionary)输出是这样的{"('Hello',)": 6, "('Hi',)": 5}当我使用json.loads({"('Hello',)": 6,…