現在我是 python 語言的新手,只是在一個主題中,他們要求我們用這種語言做作業,并且是我們自己調查。這部分代碼我先用range(0-1024)方法宣告范圍,用sample方法生成亂數,相信這些都是保存在一個串列中的,所以接下來要做的是這些隨機生成的數字將它們轉換為二進制,但我收到此錯誤:“型別錯誤:'串列'物件不能解釋為整數”
所以我不知道是否有辦法將串列轉換為整數,或者我不知道他們還會推薦我做什么......
這是我的代碼:
y = list(range(0, 1024))
numRandom = sample(y, 10)
print(numRandom)
print(bin(numRandom))
uj5u.com熱心網友回復:
您可以使用串列理解來創建一個新串列,其中包含原始串列中每個數字的二進制表示。
print([bin(x) for x in numRandom])
uj5u.com熱心網友回復:
正如錯誤所說,numRandom是一個串列,而不是一個整數。具體來說,它是一個包含十個隨機ints的串列。
要將bin函式應用于串列的第一個元素,您可以執行以下操作:
print(bin(numRandom[0]))
您可以遍歷串列并使用for回圈對每個串列執行此操作:
for num in numRandom:
print(bin(num))
或者您可以使用串列理解構建二進制表示串列:
print([bin(num) for num in numRandom])
uj5u.com熱心網友回復:
使用地圖
print([*map(bin, random.sample(y, 10))])
或者使用串列理解
print([bin(x) for x in random.sample(y, 10)])
轉載請註明出處,本文鏈接:https://www.uj5u.com/qukuanlian/332699.html
上一篇:在Java中使用多維ArrayList反轉ArrayList的子集
下一篇:在撲克牌串列中尋找對
