Python 如何从起始两个单词相同的单词列表中获取单词列表
假设我的输入列表是:Python 如何从起始两个单词相同的单词列表中获取单词列表,python,python-3.x,list,Python,Python 3.x,List,假设我的输入列表是: ["customer service skill","sales representative", "customer service","customer service experience"] 输出应为: [["sales representative"],["customer service skill","customer service","customer service experience"]] 有什么有效的方法可以做到这一点吗?这是一种使用coll
["customer service skill","sales representative",
"customer service","customer service experience"]
输出应为:
[["sales representative"],["customer service skill","customer service","customer service experience"]]
有什么有效的方法可以做到这一点吗?这是一种使用
collections.defaultdict
的方法
Ex:
from collections import defaultdict
lst = ["customer service skill","sales representative","customer service","customer service experience"]
result = defaultdict(list)
for i in lst:
result[tuple(i.split()[:2])].append(i) #Key = starting two words
print(list(result.values()))
lst = ["customer service skill","sales representative","customer service","customer service experience"]
result = {}
for i in lst:
result.setdefault(tuple(i.split()[:2]), []).append(i) #Key = starting two words
print(list(result.values()))
[['customer service skill', 'customer service', 'customer service experience'], ['sales representative']]
或者使用
dict.setdefault
Ex:
from collections import defaultdict
lst = ["customer service skill","sales representative","customer service","customer service experience"]
result = defaultdict(list)
for i in lst:
result[tuple(i.split()[:2])].append(i) #Key = starting two words
print(list(result.values()))
lst = ["customer service skill","sales representative","customer service","customer service experience"]
result = {}
for i in lst:
result.setdefault(tuple(i.split()[:2]), []).append(i) #Key = starting two words
print(list(result.values()))
[['customer service skill', 'customer service', 'customer service experience'], ['sales representative']]
输出:
from collections import defaultdict
lst = ["customer service skill","sales representative","customer service","customer service experience"]
result = defaultdict(list)
for i in lst:
result[tuple(i.split()[:2])].append(i) #Key = starting two words
print(list(result.values()))
lst = ["customer service skill","sales representative","customer service","customer service experience"]
result = {}
for i in lst:
result.setdefault(tuple(i.split()[:2]), []).append(i) #Key = starting two words
print(list(result.values()))
[['customer service skill', 'customer service', 'customer service experience'], ['sales representative']]