3 回答

TA貢獻1842條經驗 獲得超13個贊
問題是,num = str(L1)將轉換整個 L1列表為一個字符串,但你只是想在轉換元素的L1列表轉換為字符串。
嘗試這個:
path = [str(i) + ";1" for i in range(0,3,1)]
for line in path:
print(line)
輸出:
0;1
1;1
2;1

TA貢獻1784條經驗 獲得超9個贊
試圖按照你的邏輯,我猜:
L1 = [str(i) for i in range(0,3,1)]
#=> ['0', '1', '2']
所以,放在一起:
L1 = [str(i) for i in list(range(0,3,1))]
L2 = ';1'
path = [i + L2 for i in L1 ]
print(path)
#=> ['0;1', '1;1', '2;1']
然后,您可以遍歷路徑元素以根據需要將其打印出來。

TA貢獻1828條經驗 獲得超4個贊
如果你試圖print(num)在第二行之后,你會意識到,num = '[0, 1, 2]'或num = 'range(0, 3)'取決于你的編譯器,它已經是一個字符串。這就是為什么當你試圖循環時num,你得到了所有這些東西。
相反,請嘗試:
L1 = range(0,3,1)
num = str(L1)
L2 = ';1'
for i in L1:
print(str(i) + L2)
或者
path = [str(i) + L2 for i in L1]
如果你想把它們放在一個列表中。
添加回答
舉報