原始清單:
['ValueA : 123', 'Source: 10.01, Port: 101, Destination: 10.10', 'ValueB: 4,5,6']
我想拆分具有多個“:”的值,結果應如下所示:
['ValueA : 123', 'Source: 10.01', 'Port: 101', 'Destination: 10.10', 'ValueB: 4,5,6']
注意:這并不總是第二個字串。這可能在串列中的任何位置。基本上是在串列中拆分一個值,該值在同一串列值中具有 Source、Post 和 Destination。
uj5u.com熱心網友回復:
您可以嘗試拆分串列中的每個元素,并通過使用添加它們來合并這些串列sum():
>>> L = ['ValueA : 123', 'Destination: 10.01, Port: 101, Destination: 10.10', 'ValueB: 456']
>>> L = sum(
(
# Split only if condition is met
element.split(", ") if all(word in element for word in ["Source", "Port", "Destination"]) else [element]
for element in L
),
start=[],
)
>>> L
注意 中使用的關鍵字引數sum(..., start=[])。默認情況下,sum()以開頭,start=0因為它通常用于添加數值。在這種情況下,我們sum()用于添加串列,但0 []會引發例外。這就是為什么我們必須將起始值更改為一個串列,一個空串列。
轉載請註明出處,本文鏈接:https://www.uj5u.com/qiye/435681.html
標籤:Python python-3.x 细绳
上一篇:將帶有特殊字符的字串陣列轉換為int陣列。輸入來自檔案
下一篇:根據R中的字串距離匹配兩列
