我试图将列表列表与JES中的简单列表进行比较 这是我试图比较的数据样本
list1 = [(1, 'abc'), (5, 'no'), (5, 'not'), (10, 'which')]
list2 = ['not', 'which', 'abc']
基本上我正在做的是将一组单词及其频率(list1)与不同单词列表(list2)进行比较,如果列表2匹配列表1,则创建一个包含相同单词的新列表来自list1的频率 这是
下面的列表3输出的示例list3 = [(5, 'not'), (10, 'which'), (1, 'abc')]
这是使用JES,它缺少python的一些全部功能,所以id假设我只能用for循环来回答这个
这是我迄今为止尝试过的,还有一些其他组合
list3 = []
for x in keywords:
for y in frequencyList:
if x == y[1]:
list3.append(y)
感谢您的帮助
答案 0 :(得分:0)
在python中我会这样做:
list3 = [x for x in list1 if x[1] in list2]
不确定JES
答案 1 :(得分:0)
您还可以使用带有lambda函数的过滤器,使事物变得更加pythonic!
>>> list1 = [(1, 'abc'), (5, 'no'), (5, 'not'), (10, 'which')]
>>> list2 = ['not', 'which', 'abc']
>>> filter(lambda x:x[1] in list2,list1)
[(1, 'abc'), (5, 'not'), (10, 'which')]