Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/string/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 如何将字符串列表转换为列表_Python_String_List - Fatal编程技术网

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(',

我正在尝试使用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(','))]
输出如下所示

[{'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,看看她想要的输出,你对新手来说想得太多了