2017-07-16 107 views
-1

具體來說,我一直在試圖創建一個代碼,它將變量my_list分配給一個不帶空格或逗號的非列表變量。有沒有辦法將列表變量轉換爲非列表變量?

my_list= [3, 4, 5, 9] # Has to be integers 
my_var= ' ' 
... 

預期結果:

my_var = 3459 

然而,問題是,我能夠做的完全相反,並用字母來代替:

variable = 'hello' 
mylist = [ ] 
for item in variable: 
    mylist.append(item) 
print(mylist) 

回答

1

所以你需要將您的列表轉換爲字符串。您可以使用join()爲:

my_var = ''.join(str(x) for x in my_list) 

docs

返回一個字符串,它是可迭代的字符串的連接。 如果在可迭代的 中包含任何非字符串值(包括字節對象),則將引發TypeError。元素之間的分隔符是 提供此方法的字符串。


或者使用map()

my_var = ''.join(map(str, my_list)) 

docs

返回適用功能的迭代, 產生結果每一個項目的迭代器。如果傳遞額外的迭代參數,則 函數必須採用多個參數,並將所有迭代項並行應用於項目 。使用多個迭代器時,迭代器 在最短迭代器耗盡時停止。


同樣,如果你想my_var是一個int只是做int(my_var)

例子:

>>> my_list= [3, 4, 5, 9] 
>>> my_var = ''.join(str(x) for x in my_list) 
>>> my_var 
'3459' 
>>> int(my_var) 
3459 
>>> my_var = ''.join(map(str, my_list)) 
>>> my_var 
'3459' 
>>> int(my_var) 
3459 
相關問題