我有一个python列表
my_list = ['owner/NN', 'is/VBZ', 'pleasant/JJ', 'and/CC', 'entertaining/JJ', './.']
我想将它分成两部分(基于分隔符' /'在每个列表元素中显示),这样我就可以得到两个单独的列表
my_list_1 = ['owner', 'is', 'pleasant', 'and', 'entertaining', '.']
my_list_2 = ['NN', 'VBZ', 'JJ', 'CC', 'JJ', '.']
答案 0 :(得分:5)
split_items = (i.split('/') for i in my_list)
my_list1, my_list2 = zip(*split_items)
这会创建2个元组。如果您确实需要列表,可以通过
进行转换my_list1, my_list2 = map(list, (my_list1, my_list2))
答案 1 :(得分:2)
使用split
拆分分隔符:
my_list = ['owner/NN', 'is/VBZ', 'pleasant/JJ', 'and/CC', 'entertaining/JJ', './.']
lst1, lst2 = [], []
for x in my_list:
part1, part2 = x.split('/')
lst1.append(part1)
lst2.append(part2)
或使用列表推导:
lst1, lst2 = [x.split('/')[0] for x in my_list], [x.split('/')[1] for x in my_list]
答案 2 :(得分:1)
您可以使用简单的for循环和split
:
my_list = ['owner/NN', 'is/VBZ', 'pleasant/JJ', 'and/CC', 'entertaining/JJ', './.']
my_list1 = []
my_list2 = []
for el in my_list:
my_list1.append(el.split("/")[0])
my_list2.append(el.split("/")[1])
>>> my_list1
['owner', 'is', 'pleasant', 'and', 'entertaining', '.']
>>> my_list2
['NN', 'VBZ', 'JJ', 'CC', 'JJ', '.']
答案 3 :(得分:0)
你去了:
my_list = ['owner/NN', 'is/VBZ', 'pleasant/JJ', 'and/CC', 'entertaining/JJ', './.']
my_list_1 = []
my_list_2 = []
delim = '/'
for item in my_list:
parts = item.split(delim)
my_list_1.append(parts[0])
my_list_2.append(parts[1])