我正在嘗試解決我面臨的問題。我想將整數串列轉換為單個整數(加入串列的所有元素),然后將它們拆分為原始形式。例如對于下面的代碼(假設我有一個處理 y 和串列??的索引的函式)所以如果放入 'chart' for y
y = list(input("enter name"))
List=[1,2,3,4,5]
for i,p in enumerate(List):
y[i] = p
print('list is'y)
s = int(''.join([str(int) for int in List]))
print('joined form of the list is', s)
def dec():
t = [', '.join([str(int) for int in List])]
print('original form is', t)
dec()
我希望輸出是
List is [1, 2, 3, 4, 5]
joined form of the list is 12345
original form is [1, 2, 3, 4, 5]
而對于原始形式,我得到一個字串。我該如何解決這個問題?
uj5u.com熱心網友回復:
int 是 python 中的一個函式(它將您給它的字串轉換為整數)。我建議不要使用這個詞來指定一個變數,不管它是多么短暫。
現在,string 類的 join 方法是一個函式,它回傳由迭代器的所有元素(這里是整數串列)組成的字串,由字串分隔。所以,你在用那個代碼行做什么:
t = [', '.join([str(int) for int in List])]
正在制作一個由一個元素組成的串列,由串列中的所有元素組成的字串,用逗號分隔。
如果您想將所有整數轉換為字串并從中列出,您應該跳過“加入”部分:
t = [str(i) for i in yourList]
如果你想從一個字串中取回一個整數串列,你可以按照Corralien 或Bruno的建議去做。
uj5u.com熱心網友回復:
您的代碼回傳一個包含 1 個元素的串列,它是您的串列的字串表示形式:
>>> [', '.join([str(i) for i in l])]
['1, 2, 3, 4, 5']
改用:
l = [1, 2, 3, 4, 5]
# encode from list
n = int(''.join([str(i) for i in l]))
# decode from number
o = [int(i) for i in str(n)]
輸出:
>>> l
[1, 2, 3, 4, 5]
>>> n
12345
>>> o
[1, 2, 3, 4, 5]
uj5u.com熱心網友回復:
您可以通過創建一個 for 回圈并將先前的結果乘以 10 并添加現有數字來使它們全部在一起
# your code goes here
array = [1,2,3,4,5]
result = 0
for digit in array:
result = result*10 digit
print(result)
輸出
12345
uj5u.com熱心網友回復:
你幾乎做對了。您需要做的就是更改t = [', '.join([str(int) for int in List])]
為t = [int(i) for i in List]
y = list(input("enter name"))
List=[1,2,3,4,5]
for i,p in enumerate(List):
y[i] = p
print('list is',y)
s = int(''.join([str(int) for int in List]))
print('joined form of the list is', s)
def dec():
t = [int(i) for i in List]
print('original form is', t)
dec()
轉載請註明出處,本文鏈接:https://www.uj5u.com/qukuanlian/470326.html
標籤:Python python-3.x 列表 功能
上一篇:如何從包含main_file中定義的物件的另一個檔案中呼叫函式?
下一篇:c_泛型和宏功能