如何拆分嵌套列表元素的第一个元素?

LeL*_*Luc 5 python split list-comprehension list nested-lists

假设我们有:

test = [['word.II', 123, 234],
    ['word.IV', 321, 123],
    ['word.XX', 345, 345],
    ['word.XIV', 345, 432]
   ]
Run Code Online (Sandbox Code Playgroud)

如何拆分测试中的第一个元素,以便结果是:

test = [['word', 'II', 123, 234],
    ['word', 'IV', 321, 123],
    ['word', 'XX', 345, 345],
    ['word', 'XIV', 345, 432]
   ]  
Run Code Online (Sandbox Code Playgroud)

我尝试过的其他事情包括:

test = [[row[0].split('.'), row[1], row[2]] for row in test], 
Run Code Online (Sandbox Code Playgroud)

但这会导致:

[['word', 'II'], 123, 234]
[['word', 'IV'], 321, 123]
[['word', 'XX'], 345, 345]
[['word', 'XIV'], 345, 432] 
Run Code Online (Sandbox Code Playgroud)

Tuq*_*qay 6

这是一种方法:

new_test = [row[0].split('.')+ row[1:] for row in test]
Run Code Online (Sandbox Code Playgroud)

+ 运算符连接列表,例如:

>>>[2,3,4] + [1,5]
[2, 3, 4, 1, 5]
Run Code Online (Sandbox Code Playgroud)


Mur*_*nik 5

一种方法可能是使用split拆分第一个元素(就像您所做的那样!),然后使用+运算符将其连接到列表的其余部分:

result = [row[0].split('.') + row[1::] for row in test]
Run Code Online (Sandbox Code Playgroud)