我的输出是一个元组列表。它看起来像这样:
annot1=[(402L, u"[It's very seldom that you're blessed to find your equal]"),
(415L, u'[He very seldom has them in this show or his movies]')…
我需要使用元组的第二部分才能应用'split'并分别获得句子上的每个单词。
此时,我无法隔离元组的第二部分(文本)。
这是我的代码:
def scope_match(annot1):
scope = annot1[1:]
scope_string = ‘’.join(scope)
scope_set = set(scope_string.split(' '))
但我明白了:
TypeError: sequence item 0: expected string, tuple found
我尝试使用annot1 [1]但是它给了我文本的第二个索引而不是元组的第二个元素。
答案 0 :(得分:3)
你可以用列表推导做这样的事情:
[["It's", 'very', 'seldom', 'that', "you're", 'blessed', 'to', 'find', 'your', 'equal'], ['He', 'very', 'seldom', 'has', 'them', 'in', 'this', 'show', 'or', 'his', 'movies']]
输出:
for x,y in zip(annot1,annot2):
print set(x[1].strip('[]').encode('utf-8').split()).intersection(y[1].strip('[]').encode('utf-8').split())
您可以计算annot1和annot2中相应位置的字符串交集,如下所示:
ListView.GroupHeaderTemplate
答案 1 :(得分:1)
annot1
是元组列表。要从每个元素中获取字符串,您可以执行类似这样的操作
def scope_match(annot1):
for pair in annot1:
string = pair[1]
print string # or whatever you want to do