簡體   English   中英

如何將字符串列表轉換為int列表python的列表

[英]how to convert list of string to list of int list python

我有這樣的數據

["0:0:0.123", "1:0:0.345", "2:0:0.675"]

然后我想將其轉換為這樣的形式

[[0,0,0.123], [1,0,0.345], [2,0,0.675]] 

任何建議將不勝感激。 效率越高越好,導致數據規模巨大。

a = ["0:0:0.123", "1:0:0.345", "2:0:0.675"]
b = [ [float(d) for d in c.split(':')] for c in a ]

print( b )

產生

[[0.0, 0.0, 0.123], [1.0, 0.0, 0.345], [2.0, 0.0, 0.675]]

如果您特別希望整數是字符串為整數的整數,則可以這樣做,

a = ["0:0:0.123", "1:0:0.345", "2:0:0.675"]
b = [ [ ( float(d) if '.' in d else int(d) ) for d in c.split(':')] for c in a ]
print(b)

產生

[[0, 0, 0.123], [1, 0, 0.345], [2, 0, 0.675]]

或者,如果您想使用try-除外,則可以定義一個函數來解析字符串,

def myparse(a):
    try:
        return int(a)
    except:
        return float(a)

接着

a = ["0:0:0.123", "1:0:0.345", "2:0:0.675"]
b = [ [myparse(d) for d in c.split(':')] for c in a ]
print(b)

再次產生

[[0, 0, 0.123], [1, 0, 0.345], [2, 0, 0.675]]

優質教育

暫無
暫無

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

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