同时遍历两个列表,并尝试查找一个列表中的数字是否大于另一个列表中的项目

猕猴桃

(对不起,如果我的标题令人困惑。我不确定如何描述这个问题)

我有以下格式的两个列表:

list_a = [[10, 1], [25, 2]] # list sorted base on the first element of each pair
list_b = [3, 14, 5, 26]

我试图查看在哪一点的总和list_b大于中的总和list_a[i][0],如果是,则将list_a[i][1]总和相加。考虑玩游戏并获得积分list_b,当达到特定积分时获得奖励积分list_a

我的预期输出是数字序列。对于以上示例:

# [3, 3+14+1, 3+14+1+5, 3+14+1+5+26+2]
# 3+14+1 because 3+14 is greater than 10
# 3+14+1+5+26+2 because 3+14+1+5+26 is greater than 25
[3, 18, 23, 51]

我的尝试:

sum_b = 0 # used to track sum of items in list_b
output_list = []

for i in list_a:
  for j in list_b:
    # go over list b to get current sum
    sum_b += j

    if sum_b > i[0]: # when I see sum_b > i[0], I add i[1] to sum_b
      sum_b += i[1] 
    output_list.append(sum_b)
    # I want to keep going through the list to see when sum_b gets greater than 25 and add 2 to sum_b
凯利邦迪

力求贴近自己的尝试,但是,你方i通过list_a正常。i始终是下一个未使用的对list_a(或者None如果没有剩余的对),我在循环过程中的正确点使用它list_b

sum_b = 0 # used to track sum of items in list_b
output_list = []
iter_a = iter(list_a)
i = next(iter_a, None)

for j in list_b:
    # go over list b to get current sum
    sum_b += j

    if i and sum_b > i[0]: # when I see sum_b > i[0], I add i[1] to sum_b
        sum_b += i[1]
        i = next(iter_a, None)
    output_list.append(sum_b)

它只需要线性时间,因为我要并行浏览两个列表,而不是嵌套的全长循环。

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

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

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

从另一个列表中存在的两个列表中查找2个项目的Python方法

来自分类Dev

从另一个列表中存在的两个列表中查找2个项目的Python方式

来自分类Dev

如何一次遍历两个列表列表并将一个列表中的值替换为另一个列表?

来自分类Dev

根据另一个列表中的值从两个列表创建一个列表

来自分类Dev

在另一个列表中查找列表

来自分类Dev

在一个资源中查找两个列表

来自分类Dev

python - 比较两个列表以查看一个列表是否连续出现在另一个列表中

来自分类Dev

如何检查一个列表是否包含另一个列表子列表中的项目?

来自分类Dev

根据另一个类型的另一个列表中的项目查找一个列表中的项目

来自分类Dev

从另一个列表中的列表中查找项目的索引,即使它们重复

来自分类Dev

将列表中的相应项目打印到另一个包含数字的列表中

来自分类Dev

如何从另一个项目列表中过滤一个项目列表?

来自分类Dev

从另一个列表中的一个列表中查找元素数

来自分类Dev

从另一个列表中的一个列表中查找任何值

来自分类Dev

遍历列表,同时增加另一个变量

来自分类Dev

查找列表中的任何元素是否在另一个列表中

来自分类Dev

如何搜索列表中的数字是否存在于另一个列表中?

来自分类Dev

一个用于迭代两个列表并从另一个列表中删除项目(如果存在于另一个列表中)的衬垫

来自分类Dev

在另一个列表中查找一个列表的值的索引

来自分类Dev

Linq,将列表加入另一个列表中的最后一个项目

来自分类Dev

检查列表是否包含另一个列表中的所有项目

来自分类Dev

使用LINQ基于另一个属性的两个不同列表中存在的数字之间的差异

来自分类Dev

测试一个列表是否包含在另一个列表中

来自分类Dev

Python:尝试创建两个函数。一个遍历二维列表的列,另一个遍历行

来自分类Dev

如何检查另一个列表中是否包含一个列表中的两个字符串值?

来自分类Dev

python从另一个列表中删除列表中的元素,并且两个列表中都有多个项目

来自分类Dev

python从另一个列表中删除列表中的元素,并且两个列表中都有多个项目

来自分类Dev

如何比较两个java sql日期,一个在列表中,另一个刚刚输入

来自分类Dev

用python中的另一个列表遍历列表列表

Related 相关文章

  1. 1

    从另一个列表中存在的两个列表中查找2个项目的Python方法

  2. 2

    从另一个列表中存在的两个列表中查找2个项目的Python方式

  3. 3

    如何一次遍历两个列表列表并将一个列表中的值替换为另一个列表?

  4. 4

    根据另一个列表中的值从两个列表创建一个列表

  5. 5

    在另一个列表中查找列表

  6. 6

    在一个资源中查找两个列表

  7. 7

    python - 比较两个列表以查看一个列表是否连续出现在另一个列表中

  8. 8

    如何检查一个列表是否包含另一个列表子列表中的项目?

  9. 9

    根据另一个类型的另一个列表中的项目查找一个列表中的项目

  10. 10

    从另一个列表中的列表中查找项目的索引,即使它们重复

  11. 11

    将列表中的相应项目打印到另一个包含数字的列表中

  12. 12

    如何从另一个项目列表中过滤一个项目列表?

  13. 13

    从另一个列表中的一个列表中查找元素数

  14. 14

    从另一个列表中的一个列表中查找任何值

  15. 15

    遍历列表,同时增加另一个变量

  16. 16

    查找列表中的任何元素是否在另一个列表中

  17. 17

    如何搜索列表中的数字是否存在于另一个列表中?

  18. 18

    一个用于迭代两个列表并从另一个列表中删除项目(如果存在于另一个列表中)的衬垫

  19. 19

    在另一个列表中查找一个列表的值的索引

  20. 20

    Linq,将列表加入另一个列表中的最后一个项目

  21. 21

    检查列表是否包含另一个列表中的所有项目

  22. 22

    使用LINQ基于另一个属性的两个不同列表中存在的数字之间的差异

  23. 23

    测试一个列表是否包含在另一个列表中

  24. 24

    Python:尝试创建两个函数。一个遍历二维列表的列,另一个遍历行

  25. 25

    如何检查另一个列表中是否包含一个列表中的两个字符串值?

  26. 26

    python从另一个列表中删除列表中的元素,并且两个列表中都有多个项目

  27. 27

    python从另一个列表中删除列表中的元素,并且两个列表中都有多个项目

  28. 28

    如何比较两个java sql日期,一个在列表中,另一个刚刚输入

  29. 29

    用python中的另一个列表遍历列表列表

热门标签

归档