在Python中的列表项与另一个列表的索引之间进行比较

用户名

我想使用第一个列表的项目和第二个列表的索引在两个列表之间进行比较,并且每个匹配的新列表将从第二个列表追加。

a = [[1],[0],[0]]
b = [[1,2],[3,4],[5,6]]
c = []
for item in a:
     for i in range(len(b)):
          if item == b[i]:
              c.append(b[i])

答案应该是这样的:

c = [[3,4],[1,2],[1,2]]
沙丘

您的算法几乎是正确的。问题出在if语句上。如果您尝试打印itemb[i]在进行相等性测试之前发现问题。

>>> a = [[1],[0],[0]]
>>> b = [[1,2],[3,4],[5,6]]
>>> c = []
>>> for item in a:
>>>      for i in range(len(b)):
>>>           print("item == b[i] is {} == {} is {}".format(item, b[i], 
                      item == b[i]))
>>>           if item == b[i]:
>>>               c.append(b[i])
item == b[i] is [1] == [1, 2] is False
item == b[i] is [1] == [3, 4] is False
item == b[i] is [1] == [5, 6] is False
item == b[i] is [0] == [1, 2] is False
item == b[i] is [0] == [3, 4] is False
item == b[i] is [0] == [5, 6] is False
item == b[i] is [0] == [1, 2] is False
item == b[i] is [0] == [3, 4] is False
item == b[i] is [0] == [5, 6] is False

你已经基本上被检查每个元素ab平等。而是要检查a索引中每个项的元素是否相等b

例如。

for item_a in a:
    for index_b, item_b in enumerate(b):
        # only check index 0 of item_a as all lists are of length one.
        print("item_a[0] == index_b is {} == {} is {}".format(item_a[0], 
                  index_b, item_a[0] == index_b))
        if item_a[0] == index_b:
            c.append(item_b)

产生:

item_a[0] == index_b is 1 == 0 is False
item_a[0] == index_b is 1 == 1 is True
item_a[0] == index_b is 1 == 2 is False
item_a[0] == index_b is 0 == 0 is True
item_a[0] == index_b is 0 == 1 is False
item_a[0] == index_b is 0 == 2 is False
item_a[0] == index_b is 0 == 0 is True
item_a[0] == index_b is 0 == 1 is False
item_a[0] == index_b is 0 == 2 is False

enumerate 是一个内置的辅助函数,该函数返回一个元组,其中包含列表(或可迭代的任何元素)中每个元素的索引和元素。

除非您需要,否则我也建议扁平化,a因为这里有嵌套列表是多余的。a = [1, 0, 0]

综上所述,如果您能够掌握列表理解的知识,那么编码解决方案就会简单得多-正如您对问题的其他回答所证明的那样。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

将列表与另一个列表项进行比较,如果列表项相似,则将其返回

来自分类Dev

删除另一个列表中的列表项

来自分类Dev

python - 通过与另一个列表的元素进行比较来查找列表中元素索引的最快方法

来自分类Dev

将列表与Prolog中另一个列表中的列表进行比较

来自分类Dev

将列表与Prolog中另一个列表中的列表进行比较

来自分类Dev

将列表与另一个列表进行比较时检查列表中缺少的内容

来自分类Dev

单击另一个列表项中的一个列表项

来自分类Dev

如何在Python中将列表列表中的一个值与列表列表中的另一个值进行比较

来自分类Dev

如果不在另一个列表中,则删除列表项-python

来自分类Dev

在另一个列表python中搜索列表项的最佳方法?

来自分类Dev

将列表的每个元素与 Python3 中另一个列表的每个元素进行比较

来自分类Dev

如何使用与另一个列表的比较来对列表中的字典进行排序

来自分类Dev

将用户定义的列表与 bash 中的另一个列表进行比较

来自分类Dev

Python:比较列表中的值(如果存在于另一个列表中)

来自分类Dev

将列表的第一个元素与另一个列表进行比较

来自分类Dev

根据python中的索引用另一个列表的值替换列表中的值

来自分类Dev

Python:使用另一个列表的索引汇总列表中的数据

来自分类Dev

根据另一个列表返回列表中项目的索引,python

来自分类Dev

Python:使用另一个列表的索引汇总列表中的数据

来自分类Dev

基于python中另一个列表的索引的列表特定元素的总和

来自分类Dev

将列表中的每个元素与另一个列表中的2个元素进行比较,使代码高效

来自分类Dev

根据python中另一个列表的最大值对数组的列索引进行分组

来自分类Dev

在另一个列表子集中搜索另一个列表项

来自分类Dev

使用另一个列表对Python列表中的字符串进行排序

来自分类Dev

根据另一个排序列表在python中对列表进行排序

来自分类Dev

将列表中的值与另一个列表中的特定总和进行比较的最快方法是什么?

来自分类Dev

根据另一个列表中的索引汇总一个列表中的元素

来自分类Dev

比较一个列表以查看它在另一个列表中的位置

来自分类Dev

如何在AppleScript中返回列表项的名称并使列表与另一个匹配?

Related 相关文章

  1. 1

    将列表与另一个列表项进行比较,如果列表项相似,则将其返回

  2. 2

    删除另一个列表中的列表项

  3. 3

    python - 通过与另一个列表的元素进行比较来查找列表中元素索引的最快方法

  4. 4

    将列表与Prolog中另一个列表中的列表进行比较

  5. 5

    将列表与Prolog中另一个列表中的列表进行比较

  6. 6

    将列表与另一个列表进行比较时检查列表中缺少的内容

  7. 7

    单击另一个列表项中的一个列表项

  8. 8

    如何在Python中将列表列表中的一个值与列表列表中的另一个值进行比较

  9. 9

    如果不在另一个列表中,则删除列表项-python

  10. 10

    在另一个列表python中搜索列表项的最佳方法?

  11. 11

    将列表的每个元素与 Python3 中另一个列表的每个元素进行比较

  12. 12

    如何使用与另一个列表的比较来对列表中的字典进行排序

  13. 13

    将用户定义的列表与 bash 中的另一个列表进行比较

  14. 14

    Python:比较列表中的值(如果存在于另一个列表中)

  15. 15

    将列表的第一个元素与另一个列表进行比较

  16. 16

    根据python中的索引用另一个列表的值替换列表中的值

  17. 17

    Python:使用另一个列表的索引汇总列表中的数据

  18. 18

    根据另一个列表返回列表中项目的索引,python

  19. 19

    Python:使用另一个列表的索引汇总列表中的数据

  20. 20

    基于python中另一个列表的索引的列表特定元素的总和

  21. 21

    将列表中的每个元素与另一个列表中的2个元素进行比较,使代码高效

  22. 22

    根据python中另一个列表的最大值对数组的列索引进行分组

  23. 23

    在另一个列表子集中搜索另一个列表项

  24. 24

    使用另一个列表对Python列表中的字符串进行排序

  25. 25

    根据另一个排序列表在python中对列表进行排序

  26. 26

    将列表中的值与另一个列表中的特定总和进行比较的最快方法是什么?

  27. 27

    根据另一个列表中的索引汇总一个列表中的元素

  28. 28

    比较一个列表以查看它在另一个列表中的位置

  29. 29

    如何在AppleScript中返回列表项的名称并使列表与另一个匹配?

热门标签

归档