簡體   English   中英

如何將字符串數轉換為列表中的整數?

[英]How to convert strings numbers to integers in a list?

我有一個清單說:

['batting average', '306', 'ERA', '1710']

如何在不觸及字符串的情況下轉換預期的數字?

感謝您的幫助。

changed_list = [int(f) if f.isdigit() else f for f in original_list]

數據看起來像你應該知道數字應該在哪個位置。 在這種情況下,最好顯式轉換這些位置的數據,而不是只轉換看起來像數字的任何東西:

ls = ['batting average', '306', 'ERA', '1710']
ls[1] = int(ls[1])
ls[3] = int(ls[3])

嘗試這個:

def convert( someList ):
    for item in someList:
        try:
            yield int(item)
        except ValueError:
            yield item

newList= list( convert( oldList ) )
a= ['batting average', '306', 'ERA', '1710.5']

[f if sum([c.isalpha() for c in f]) else float(f) for f in a ]

如果你的列表包含float,string和int(在評論中由@d.putto指出)

暫無
暫無

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

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