【问题标题】:Python for loop multiply listsPython for 循环乘法列表
【发布时间】:2020-10-22 01:38:45
【问题描述】:

我有 2 个列表,我需要循环遍历列表而不对列表进行排序。

这是我的代码:

a = [0,1,2,3,4,5,6,7,8,9,10]
b = [1,2,6,3,8,9]

for i in range(len(a)):
    for y in range(len(b)):
        if a[i] == b[y]:
            print("nr: "+ str(b[y]))

所以问题是第二个列表中的数字 3。 它在打印数字 6 之前打印。

但我首先需要数字 6。

谁能阻止我?

【问题讨论】:

  • 你的预期输出是什么?

标签: python arrays list sorting for-loop


【解决方案1】:

首先我想指出的是,当您可以简单地遍历 时,您无需遍历 列表的长度 >列表
像这样:

a = [0,1,2,3,4,5,6,7,8,9,10]
b = [1,2,6,3,8,9]

for i in a:
    for y in b:
        if i == y:
            print("nr: "+ str(y))

干净简单

循环内的循环

由于列表中 3 和 6 的顺序a
,您在 6 之前得到 3 在这里,当循环开始时,您将 0 作为列表 a 的第一个元素,因此分配了 i=0,光标移动到您正在遍历另一个列表 b 的第二行,并且 i 保持等于 0,直到您没有检查其与列表b 上的每个项目是否相等。
在遍历列表b 的最后一个元素后,光标返回到循环的第一行并分配了i=1,依此类推
在 i=6 获得机会之前分配了 i=3 因为
a = [0,1,2,3,4,5,6,7,8,9,10]
只需更改列表的顺序a
设置a = [0,1,2,6,4,5,3,7,8,9,10]

【讨论】:

    猜你喜欢
    • 2021-11-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-05-03
    • 1970-01-01
    相关资源
    最近更新 更多