我在python中有這個代碼,當我列印最后一行時,它給出了一個輸出“11100101100”。我期待輸出,“011100101100”。請注意,輸出以 1 而非 0 開頭。盡管變數 gamma_sum_list 是一個包含 12 位數字且以 0 開頭的串列。該函式以某種方式自動洗掉第一個零。以下是確切的 gamma_sum_list
輸入:
[0, 1, 1, 1, 0, 0, 1, 0, 1, 1, 0, 0]
預期輸出:
011100101100
實際輸出:
11100101100
def convert(list)
res = int("".join(map(str,list)))
return res
print(convert(gamma_sum_list))
在這里輸入代碼
uj5u.com熱心網友回復:
您的問題是由將join運算結果轉換為整數引起的。整數沒有前導零。如果您洗掉該int函式,您將獲得一個帶有前導零的字串。
gamma_sum_list = [0, 1, 1, 1, 0, 0, 1, 0, 1, 1, 0, 0]
def convert(my_list):
res = "".join(map(str,my_list))
return res
print(convert(gamma_sum_list))
輸出:
011100101100
uj5u.com熱心網友回復:
def convert(some_list):
res = "".join(map(str,some_list))
return res
gamma_sum_list = [0, 1, 1, 1, 0, 0, 1, 0, 1, 1, 0, 0]
print(convert(gamma_sum_list))
或者
conv = lambda x: ''.join(map(str, x))
print(conv(gamma_sum_list))
uj5u.com熱心網友回復:
考慮一下:
>>> "".join(list(map(str, [0, 1])))
'01'
你將如何轉換'01'為整數?嗯,它只是1。
>>> int("".join(list(map(str, [0, 1]))))
1
因此,您可能不想將字串轉換為 ,而將其int保留為str。
轉載請註明出處,本文鏈接:https://www.uj5u.com/ruanti/396276.html
