Python 如何将字符串列表转换为列表
我正在尝试使用Python将字符串列表转换为列表列表Python 如何将字符串列表转换为列表,python,string,list,Python,String,List,我正在尝试使用Python将字符串列表转换为列表列表 shopping_lists=['apple pie,corn bread,red wine\ready soups,milk,coffee'] 我想去 [{'apple pie','corn bread','red wine'},{'ready soups', 'milk', 'coffee'}] 我尝试在Python中使用split()函数 s=shopping\u list.split() L=[为s中的i设置(i.split(',
shopping_lists=['apple pie,corn bread,red wine\ready soups,milk,coffee']
我想去
[{'apple pie','corn bread','red wine'},{'ready soups', 'milk', 'coffee'}]
我尝试在Python中使用split()
函数
s=shopping\u list.split()
L=[为s中的i设置(i.split(','))]
输出如下所示
[{'applepie','cornbread','redwine'},{'readysoups', 'milk', 'coffee'}]
但是,我想保留单词之间的空格
[{'apple pie','corn bread','red wine'},{'ready soups', 'milk', 'coffee'}]
有时更容易将其分解为for循环;另外,我认为你的原始列表中可能有一个打字错误 假设输入错误:
shopping_lists=['apple pie,corn bread,red wine','ready soups,milk,coffee']
L = []
for row in shopping_lists:
L.append(set(row.split(',')))
print(L)
shopping_lists='apple pie,corn bread,red wine/ready soups,milk,coffee'
L = []
shopping_lists=shopping_lists.split('/')
for row in shopping_lists:
L.append(set(row.split(',')))
print(L)
如果没有输入错误:
shopping_lists=['apple pie,corn bread,red wine','ready soups,milk,coffee']
L = []
for row in shopping_lists:
L.append(set(row.split(',')))
print(L)
shopping_lists='apple pie,corn bread,red wine/ready soups,milk,coffee'
L = []
shopping_lists=shopping_lists.split('/')
for row in shopping_lists:
L.append(set(row.split(',')))
print(L)
两者都产生了这个结果
[{'红酒','玉米面包','苹果派',{'牛奶','咖啡','现成的
汤“}]
如果你真的是指列表列表,而不是集合列表
shopping_lists=['apple pie,corn bread,red wine','ready soups,milk,coffee']
L = []
for row in shopping_lists:
L.append(row.split(','))
print(L)
产量
苹果派、玉米面包、红酒、现成汤、牛奶、,
“咖啡”]]
使用splitlines而不是split() 您可以使用:
shopping_lists=['apple pie,corn bread,red wine\ready soups,milk,coffee']
[set(item.strip("'").split(',')) for e in shopping_lists for item in ('%r' % e).split('\\')]
输出:
[{'apple pie', 'corn bread', 'red wine'}, {'coffee', 'milk', 'ready soups'}]
您有一个反斜杠,它是两个集合的分隔符,所以首先,您必须在输出中按分隔符拆分,然后必须按逗号拆分,当您使用大括号(如
{}
)时,这应该表示一个集合吗?感谢您的澄清,欢迎来到SO<代码>[“苹果派、玉米面包、红酒\即食汤、牛奶、咖啡”]不是字符串列表,而是列表中包含逗号的单个字符串。这就是真实数据的样子吗?看起来你实际上试图产生的是一个列表
的集合
--(例如,如果你把{}
放在像这样的值周围,{'1st value',2rd value',3rd value'}
您正在创建一个集合
,而不是一个列表
。注意这一点可能很重要,因为集合
不允许重复值。{'1st value','2nd value','1st value'}
将创建一个看起来像{'1st value','2nd value'}的集合
--将删除额外的“第一个值”
。“\”是否表示“\n”是不是苹果派、玉米面包、红酒汤、牛奶、咖啡??似乎有一些不好的数据帖子,你无法从购物清单中获得你的输出购物清单应该与“苹果派、玉米面包、红酒汤、牛奶、咖啡”相同购物清单应该与“苹果派、玉米面包、红酒汤、牛奶、咖啡”相同@rusu\ro1你知道什么是\r
待命吗?或者你能展示打印(购物清单)
的结果吗?她不是这个意思\r,看看她想要的输出,你对新手来说想得太多了