将 Python 列表字段一分为二并保留在原位

Split Python list field into two and leave them in place

如何拆分 Python 中的一个字段,然后将这两个字段并排放置在列表中?是否有使用 .split() 旁白的命令?或者编写一个执行此操作的函数更有意义吗?如何跨多个列表完成

性能不是主要问题。下面是我要完成的示例。

编辑:我不介意使用 split(),我只是想知道 如何 这样的事情可以实现。

格式化前列表

['Intel', 'Core', 'i5-4210Y', '@', '1.50GHz', '(20%)', '998', 'N']

格式化后列表

['Intel', 'Core', 'i5', '4210Y', '@', '1.50GHz', '(20%)', '998', 'N']

这是一种方法,使用列表理解和 split():

data = ['Intel', 'Core', 'i5-4210Y', '@', '1.50GHz', '(20%)', '998', 'N']

new_data = [element for item in data for element in item.split("-")]
print(new_data)  # ['Intel', 'Core', 'i5', '4210Y', '@', '1.50GHz', '(20%)', '998', 'N']

与 for 循环等效的是:

new_data = []
for item in data:
    for element in item.split("-"):
        new_data.append(element)
print(new_data)  # ['Intel', 'Core', 'i5', '4210Y', '@', '1.50GHz', '(20%)', '998', 'N']

列出对救援的理解。

data = ['Intel', 'Core', 'i5-4210Y', '@', '1.50GHz', '(20%)', '998', 'N']
result = [y for x in data for y in x.split('-')]
# ['Intel', 'Core', 'i5', '4210Y', '@', '1.50GHz', '(20%)', '998', 'N']

我建议做类似

的事情
string = '-'.join(list)
list = string.spit('-')

这在这里可以正常工作,但如果这种方式导致问题,您也可以使用 list.insert(item, index) 方法。