假设我有一个名为
的列表mylist = []
此列表包含文件中的句子。我的问题是:
有没有办法可以将mylist的每个元素添加到不同的集合中?
如果可以,那么如何添加到不同的设置?
我的代码:
mylist = []
wordlist = open('data.txt', 'r').read().split()
ngrams = [wordlist[i:i+5] for i in range(len(wordlist)-4)]
mylist.append(ngrams)
print mylist
一些编辑:
我的输出看起来像这样
[('hello', 'there')]
[("I'm", 'using'), ('using', 'python'), ('python', 'for'), ('for', 'the'), ('the', 'first'), ('first', 'time.')]
我想要做的是将每个二元组添加到不同的集合中。
答案 0 :(得分:2)
with open('data.txt', 'r') as f:
for line in f:
words = line.split()
mylist = zip(words, words[1:])
print mylist
答案 1 :(得分:0)
words = input.split()
zip(words, words[1:])
答案 2 :(得分:0)
我可能只是误解了你的问题,但......你在尝试这两个中的任何一个吗?
从bigrams创建新集:
>>> li = [("I'm", 'using'), ('using', 'python')]
>>> [set(el) for el in li]
[set(['using', "I'm"]), set(['python', 'using'])]
将bigrams添加到现有集:
>>> sets = [set([1]), set([2])]
>>> sets
[set([1]), set([2])]
>>> [sets[i].add(set_) for i, set_ in enumerate(li)] #could be expanded in proper loop
[None, None]
>>> sets
[set([1, ("I'm", 'using')]), set([2, ('using', 'python')])]