【发布时间】:2015-05-06 17:44:52
【问题描述】:
假设我有两个列表,两个列表具有相同数量的元素(子列表):
list_1 = [['Hi my name is anon'],
['Hi I like #hokey'],
['Hi I like hokey'],
['Hello guys'],
.....
['Thanks for the help']]
list_2 = [['Hi my name is anon_2'],
['Hi I like #Basketball'],
['Hi I like hokey'],
['Hello guys'],
....
['Thanks for the support']]
我想计算list_1 的第一个子列表和list_2 的第一个子列表之间的distance,依此类推,直到 n-1 并将分数放在一个新列表中(即在这个方式:从list_1、sublist_1 与从list_2、sublist_1 等等直到 n-1)
这是我尝试过的,带有地图:
import distance as dis
scores_list = list(set(map(dis.jaccard(list_of_lists_1,list_of_lists_2) )))
print scores_list
但是得到这个回溯:
test.py
Traceback (most recent call last):
File "test.py", line 19, in <module>
scores_list = set(map(dis.jaccard(list_of_lists_1,list_of_lists_2) ))
File "test.py", line 33, in jaccard
set1, set2 = set(seq1), set(seq2)
TypeError: unhashable type: 'list'
Process finished with exit code 1
我想要一个这样的列表:
scores_list = [score_1, score_2,score_3,score_4,score_5]
【问题讨论】:
-
dis.jaccard 有问题。您正在尝试从多维集合创建一个集合。最好阅读 python 文档中的“set”。
标签: python list python-2.7 data-structures