如何在python中拆分列表中的特定元素以创建另一个列表?



我有一个下面的列表:

list = [' ab: 1', ' cd: 0', ' ef: 2 gh: 3', ' ik: 4']

从上面的列表中,我需要像下面这样的东西:

newlist = [' ab: 1', ' cd: 0', ' ef: 2', ' gh: 3', ' ik: 4']

"list"包含4个元素,然后我需要"newlist"包含5个元素

split()是否可以在这里使用?

我将通过以下方式使用re.findall来实现这一点:

import re
li = [' ab: 1', ' cd: 0', ' ef: 2 gh: 3', ' ik: 4']
newlist = []
for ele in li:
match = re.findall(r"w+s?:s?d+", ele)
newlist += [m for m in match]
print(newlist)

输出:

['ab: 1', 'cd: 0', 'ef: 2', 'gh: 3', 'ik: 4']

检查方法为最佳。

list_name = [' ab: 1', ' cd: 0', ' ef: 2 gh: 3', ' ik: 4']
newlist = []
for value in list_name:
if len(value) > 6:
newlist.append(value[0:6])
newlist.append(value[6:])
else:
newlist.append(value)
print(newlist)

正如你所看到的,python有一个很棒的语法叫做切片(value[0:6])

如果你学过range(start,stop,step)你也可以用这个list_name[start:stop:step]

空值将自动设置为默认的[0,-1,1]

玩得开心

试试这个:

newlist = []
for i in a:
if len(i.split()) != 1:
for key, val in zip(i.split()[::2], i.split()[1::2]):
newlist.append(key + val)

最新更新