簡體   English   中英

Python拆分列表元素

[英]Python split list elements

我有一個清單:

lines = [['1 1 4.59114 0.366832 -9.56424 '], ['2 1 5.24742 -0.870574 -8.40649 '], ['3 2 5.21995 -0.38856 -7.39145 ']]

我想按如下方式拆分列表的每個單獨元素:

[['1', '1 4.59114', '0.366832', '-9.56424'], ['2', '1', '5.24742', '-0.870574', '-8.40649 '], ['3', '2', '5.21995', '-0.38856', '-7.39145']]

我嘗試了以下代碼:

m = []
for i in range(len(lines)):
    a = re.split(r'\t+', lines[i].rstrip('\t').split(",")
    m.append(a)

但是 split 不適用於單個列表元素。 有什么想法嗎?

您需要split空白字符而不是選項卡\\t

>>> lines = [['1 1 4.59114 0.366832 -9.56424 '], ['2 1 5.24742 -0.870574 -8.40649 '], ['3 2 5.21995 -0.38856 -7.39145 ']]
>>> [line[0].split() for line in lines]
[['1', '1', '4.59114', '0.366832', '-9.56424'],
 ['2', '1', '5.24742', '-0.870574', '-8.40649'],
 ['3', '2', '5.21995', '-0.38856', '-7.39145']]

試試這個:

print([list[0].split() for list in lines])

輸出:

[['1', '1', '4.59114', '0.366832', '-9.56424'], ['2', '1', '5.24742', '-0.870574', '-8.40649'], ['3', '2', '5.21995', '-0.38856', '-7.39145']]

它是一個字符串列表列表。

lines[0][0].split(' ') # lines[0][0] is a string so you can use split

會給你 ['1', '1', '4.59114', '0.366832', '-9.56424', '']

你可以做

[x[0].split(' ') for x in lines]

以獲得所需的結果。

暫無
暫無

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

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