为什么当我运行时:
a = ['a','n','g']
b = [range(0,4)]
print [(x,y) for x in a for y in b]
返回:
[('a', [0, 1, 2, 3]), ('n', [0, 1, 2, 3]), ('g', [0, 1, 2, 3])]
但是当我运行这段代码时:
a = ['a','n','g']
b = [0,1,2,3,4]
print [(x,y) for x in a for y in b]
它返回:
[('a', 0), ('a', 1), ('a', 2), ('a', 3), ('a', 4), ('n', 0), ('n', 1), ('n', 2), ('n', 3), ('n', 4), ('g', 0), ('g', 1), ('g', 2), ('g', 3), ('g', 4)]
所以你可能已经注意到,如果我使用 range 函数,我会得到一个错误的输出,但是如果我手动输入['a','n','g']我会得到想要的输出
b = [range(0,4)]
and
b = [0,1,2,3,4]
两者显然是一样的吧?因此为什么结果会有所不同(如果它们相同)?
我基本上是在尝试构建一个程序,其中A在 999 范围内反转,B在 999 范围内,并且相信我对这 1000 位数字进行硬编码效率不高,我可能会被认为是疯了