[英]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.