[英]how to create a list of list of tuples?
我有一个文档,它被读取为元组列表的列表。 对于每个元组中的每个元素都是(word, label)
对。
基本上,文档是一个句子列表,其中每个句子都是一个元组列表。
我试图忽略出现次数少于 10 次的单词,并根据以前的格式构建一个新文档。 为此,我正在使用此代码:
i=0;
j=0;
dictWords=dict()
for sentence in ldata:
for word in sentence:
j=j+1
if word[0] not in dictWords:
dictWords[word[0]]=1
i=i+1
else:
dictWords[word[0]]=1+dictWords[word[0]]
ldata=[[("the","det"),("boy","noun"),("is",'verb'),("ugly","adj")], [("I","Pronoun"), ("am","verb") ("here" ,"Place")]
lnewdata = []
i = 0
for sentence in ldata:
newSent = []
for word in sentence:
if dictWords[word[0]] < 10:
newSent.append(("unk","unk"))
#dictWords is a dictionnary containing each word's occurences
else:
newSent.append(word)
i = i + 1
lnewdata.extend(newSent)
我的问题是 lnewdata 在这种格式下变成了:
[["the" "det" "boy" "noun" "is" "verb" "ugly" "adj"] ["I" "noun" "am" "verb" "here" "Place" ]
你有什么建议来解决这个问题?
试图理解你的问题,我主要可以弄清楚以下几点。
您有一个包含多个元组的文档,例如 (word,label)
您希望出现出现次数超过 10 的单词并创建一个新列表。
我不明白你为什么要追加出现次数小于 10 的元组。
这是我可以弄清楚的代码。
lnewdata=[]
i=0;
for sentence in ldata:
newSent=[]
for word in sentence:
if dictWords.count(word[0])>10:
newSent.append((word[0],word[1]))
lnewdata = list(newSent)
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.