我的列表类似于:
industries_list = ["Computers, Internet","Photography, Tourism","Motoring, Manufacturing"]
如何拆分此列表,以便输出类似于:
industries_list = [["Computers","Internet"],["Photography","Tourism"],["Motoring","Manufacturing"]]
我尝试将其转换为字符串,用逗号分隔,然后将其放回列表中,但这并没有给出我想要的结果。
答案 0 :(得分:3)
在字符串类上使用.split
:
>>> industries_list=["Computers, Internet","Photography, Tourism","Motoring, Manufacturing"]
>>> [var.split(',') for var in industries_list]
[['Computers', ' Internet'], ['Photography', ' Tourism'], ['Motoring', ' Manufacturing']]
如果您不想要空格:
>>> [[s.strip() for s in var.split(',')] for var in industries_list]
[['Computers', 'Internet'], ['Photography', 'Tourism'], ['Motoring', 'Manufacturing']]
答案 1 :(得分:2)
使用列表理解:
>>> industries_list = ["Computers, Internet","Photography, Tourism","Motoring, Manufacturing"]
>>> [s.split(',') for s in industries_list]
[['Computers', ' Internet'], ['Photography', ' Tourism'], ['Motoring', ' Manufacturing']]
并删除空格:
>>> from string import strip
>>> [map(strip, s.split(',')) for s in industries_list]
[['Computers', 'Internet'], ['Photography', 'Tourism'], ['Motoring', 'Manufacturing']]
你也可以使用纯列表理解(嵌入式列表理解):
>>> [[w.strip() for w in s.split(',')] for s in industries_list]
[['Computers', 'Internet'], ['Photography', 'Tourism'], ['Motoring', 'Manufacturing']]
答案 2 :(得分:1)
在列表解析中按','
拆分每个值:
industries_list = [s.split(',') for s in industries_list]
您可能想要去掉结果周围的额外空格:
industries_list = [[w.strip() for w in s.split(',')] for s in industries_list]
演示:
>>> industries_list = ["Computers, Internet","Photography, Tourism","Motoring, Manufacturing"]
>>> [s.split(',') for s in industries_list]
[['Computers', ' Internet'], ['Photography', ' Tourism'], ['Motoring', ' Manufacturing']]
>>> [[w.strip() for w in s.split(',')] for s in industries_list]
[['Computers', 'Internet'], ['Photography', 'Tourism'], ['Motoring', 'Manufacturing']]