如何在python中拆分现有数组元素的内容

如何在python中拆分现有数组元素的内容,python,arrays,string,Python,Arrays,String,代码如下所示 txt = "ID:2020,Sugar:3,cost_sugar:30,ID:2021,Sugar:5,cost_sugar:50" x = str(txt.split(",")) 输出是 ['ID:2020', 'Sugar:3'] 现在我想再次执行拆分,以便输出如下所示: ['ID', '2020', 'Sugar', '3'] 您可以使用列表首先获取键和值,然后打印列表另一种解决方案是使用regex >>> i

代码如下所示

txt = "ID:2020,Sugar:3,cost_sugar:30,ID:2021,Sugar:5,cost_sugar:50"
x = str(txt.split(","))
输出是

['ID:2020', 'Sugar:3']
现在我想再次执行拆分,以便输出如下所示:

['ID', '2020', 'Sugar', '3']

您可以使用列表首先获取键和值,然后打印列表

另一种解决方案是使用regex

>>> import re
>>> re.split(",|:", txt)
['ID', '2020', 'Sugar', '3', 'cost_sugar', '30', 'ID', '2021', 'Sugar', '5', 'cost_sugar', '50']

Python的
re
模块有一个很好的特性

import re
re.split(':|,',txt)

我喜欢人们使用
re
模块提供的答案。下面是另一种方法:

txt.replace(“:”,“,”).split(“,”)

基本上,你把
“:“
当作
”,“
”,那么为什么不先把
“:“
替换成
”,“
,然后拆分?

你可以使用下面与你的项目相关的代码,或者如果你是第一次学习,这是一个很好的例子。第一个使用列表。第二个使用
re

txt = "ID:2020,Sugar:3,cost_sugar:30,ID:2021,Sugar:5,cost_sugar:50"
returnlist = []
for x in list(txt.split(",")):
  for fullkey in list(x.split(":")):
    returnlist.append(fullkey)

print(returnlist)


没有一个例子,这不是说什么有用的请张贴一个MCVE。您在此处显示的代码与您所说的不同。请提供
import re
txt = "ID:2020,Sugar:3,cost_sugar:30,ID:2021,Sugar:5,cost_sugar:50"
returnlist = re.split(':|,', txt)
print(returnlist)