簡體   English   中英

將整數列表的列表轉換為字符串列表

[英]Convert list of list of integers into a list of strings

我有一個字符串列表:

['[2, 8]', '[8, 2]', '[2, 5, 3]', '[2, 5, 3, 0]', '[5, 3, 0, 2]']  

我希望輸出看起來像

['28','82','253',2530',5302']

我試過用了

string1= ''.join(str(e) for e in list[0])

我得到print(string1)的輸出為:

[2, 8]

我在這做錯了什么?

你實際上沒有list list ,你有一個str list 因此,您可以使用ast.literal_eval將每個字符串解釋為列表,然后轉換為strjoin

>>> l = ['[2, 8]', '[8, 2]', '[2, 5, 3]', '[2, 5, 3, 0]', '[5, 3, 0, 2]']
>>> from ast import literal_eval
>>> [''.join(str(j) for j in literal_eval(i)) for i in l]
['28', '82', '253', '2530', '5302']

如果只想使用內置函數(沒有導入),可以定義一個只解析數字並將該函數映射到列表的函數。

def remove_non_digits(z):
    return "".join(k if k.isdigit() else "" for k in z)

>>> map(remove_non_digits, a)
['28', '82', '253', '2530', '5302']

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM