爲什麼當我運行:遍歷列表理解Python中
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)]
所以你可能已經注意到,如果我使用範圍功能,我得到一個錯誤的輸出,但如果我在[「一」,「N」,「G」]手動密鑰我得到所需的輸出
b = [range(0,4)]
and
b = [0,1,2,3,4]
兩者顯然是相同的權利?因此,爲什麼有不同的結果(如果他們是相同的)?
基本上,我試圖建立具有在逆轉了一系列的999和乙射程爲999的程序,並且相信我硬編碼的1000個數字是沒有效率的,我可能會被認爲是瘋狂
顯然沒有,thery是不一樣的,範圍(0,4)爲[0,1,2,3] – AAlferez
爲什麼不看'B'後設置'B = [範圍( 0,4)]'? – cmd