Python 根据子字符串限制将字符串列表拆分为列表列表

Python 根据子字符串限制将字符串列表拆分为列表列表,python,list,Python,List,我有一个清单,上面有如下项目: ['1 Paris-SG 42 20 13 3 4 +33', '2 Lille 42 20 12 6 2 +20', '3 Lyon 40 20 11 7 2 +20', '4 Monaco 36 20 11 3 6 +10'] 我想拆分上面列表中的字符串,得到如下列表: [['1', 'Paris-SG', '42 20 13 3 4 +33'], ['2', 'Lille', '42 20 12 6 2 +20'], ['3', 'Lyon',

我有一个清单,上面有如下项目:

['1 Paris-SG 42 20 13 3 4 +33',
 '2 Lille 42 20 12 6 2 +20',
 '3 Lyon 40 20 11 7 2 +20',
 '4 Monaco 36 20 11 3 6 +10']
我想拆分上面列表中的字符串,得到如下列表:

[['1', 'Paris-SG', '42 20 13 3 4 +33'],
 ['2', 'Lille', '42 20 12 6 2 +20'],
 ['3', 'Lyon', '40 20 11 7 2 +20'],
 ['4', 'Monaco', '36 20 11 3 6 +10']]
下面是我尝试过的代码,但没有得到预期的结果:

ligu1 = []
for i in (final):
    print(i)
    for elem in sorted(i):
        stat = ','.join(map(str, elem))
        ligu1.append(stat)
ligu1
这给了我:

['1, ,P,a,r,i,s,-,S,G, ,4,2, ,2,0, ,1,3, ,3, ,4, ,+,3,3',

 '2, ,L,i,l,l,e, ,4,2, ,2,0, ,1,2, ,6, ,2, ,+,2,0',

 '3, ,L,y,o,n, ,4,0, ,2,0, ,1,1, ,7, ,2, ,+,2,0',

 '4, ,M,o,n,a,c,o, ,3,6, ,2,0, ,1,1, ,3, ,6, ,+,1,0']
您可以使用with MAXSPILT param as 2编写列表理解,以实现以下目的:

my_list = [
    '1 Paris-SG 42 20 13 3 4 +33',
    '2 Lille 42 20 12 6 2 +20',
    '3 Lyon 40 20 11 7 2 +20',
    '4 Monaco 36 20 11 3 6 +10'
]

new_list = [s.split(' ', 2) for s in my_list]
新的_列表将保存的位置:

[
    ['1', 'Paris-SG', '42 20 13 3 4 +33'], 
    ['2', 'Lille', '42 20 12 6 2 +20'],
    ['3', 'Lyon', '40 20 11 7 2 +20'],
    ['4', 'Monaco', '36 20 11 3 6 +10']
]
您可以使用with MAXSPILT param as 2编写列表理解,以实现以下目的:

my_list = [
    '1 Paris-SG 42 20 13 3 4 +33',
    '2 Lille 42 20 12 6 2 +20',
    '3 Lyon 40 20 11 7 2 +20',
    '4 Monaco 36 20 11 3 6 +10'
]

new_list = [s.split(' ', 2) for s in my_list]
新的_列表将保存的位置:

[
    ['1', 'Paris-SG', '42 20 13 3 4 +33'], 
    ['2', 'Lille', '42 20 12 6 2 +20'],
    ['3', 'Lyon', '40 20 11 7 2 +20'],
    ['4', 'Monaco', '36 20 11 3 6 +10']
]

这是我所能想到的最简单的方法,可以让你明白和容易理解:

lista = ['1 Paris-SG 42 20 13 3 4 +33',
 '2 Lille 42 20 12 6 2 +20',
 '3 Lyon 40 20 11 7 2 +20',
 '4 Monaco 36 20 11 3 6 +10']

string =[]
number = []
for i in lista:
    string.append(i.split(" "))
    
arr = []

for i in range(len(string)):
    temp = ''
    arr.append(string[i][:2])
    for j in string[i][3:]:
        temp +=j
    arr[i].append(temp)
print(arr)

这是我所能想到的最简单的方法,可以让你明白和容易理解:

lista = ['1 Paris-SG 42 20 13 3 4 +33',
 '2 Lille 42 20 12 6 2 +20',
 '3 Lyon 40 20 11 7 2 +20',
 '4 Monaco 36 20 11 3 6 +10']

string =[]
number = []
for i in lista:
    string.append(i.split(" "))
    
arr = []

for i in range(len(string)):
    temp = ''
    arr.append(string[i][:2])
    for j in string[i][3:]:
        temp +=j
    arr[i].append(temp)
print(arr)

啊,太好了,真的非常感谢你,我不知道如何用split列出对所有事情的理解,两千谢谢-啊,太好了,真的非常感谢你,我不知道如何用split列出对所有事情的理解,两千谢谢-