例如,这是列表
[('please', 'a'), ('answer', 'b'), ('this', 'a'), ('question', 'd'), ('thankyou', 'f')]
现在,当元组中的第二个元素相同时,我需要合并
预期输出为
please this
由于please
和this
的第二个元素都是a
,因此需要将其合并。
答案 0 :(得分:0)
您可以为此使用defaultdict
:
from collections import defaultdict
l = [('please','a'),('answer','b'),('this','a'),('question','d'),('thankyou','f')]
frequencies = defaultdict(list)
for word, key in l:
frequencies[key].append(word)
output = ' '.join([words for (key, words) in frequencies.items() if len(words) > 1][0])
print(output)
# prints "please this"
答案 1 :(得分:0)
可以使用defaultdict做到这一点:
from collections import defaultdict
input_list = [('please', 'a'), ('answer', 'b'), ('this', 'a'), ('question', 'd'), ('thankyou', 'f')]
output_list = defaultdict(list)
for x, y in input_list:
output_list[y].append(x)
output_list.values()将具有以下结果:
dict_values([['please', 'this'], ['answer'], ['question'], ['thankyou']])