我需要从
Python的列表中生成2元组,这样,在元组(a,b),a!= b中,如果已经生成了元组(a,b),则跳过生成(b,a) .
这是我写的东西.它有助于达到目的.
但是,当它在pandas数据帧中运行时,运行需要一些时间.
def tuplize(word_list):
tuple_list = []
if len(word_list) == 1:
return None
else:
for i in range(len(word_list)):
for j in range(i+1, len(word_list)):
a = tuple([word_list[i], word_list[j]])
tuple_list.append(a)
return tuple_list
我想知道是否有更快的方法来解决问题.
提前致谢!!
更新:
我尝试了@ThalishSajeed的解决方案.我将它包含在一个函数中,并且该函数在一个单词列表中作为输入完美地工作.但是,当我尝试将它应用于包含单词列表的pandas系列时.
这是我的功能,
def tuplize_faster(word_list):
if len(word_list) <= 1:
return None
else:
ret_object = itertools.combinations(word_list, 2)
return [tuple(i) for i in ret_object]
我通过一个列表(tuplize_faster([‘零’,’评级’,’最差’,’服务’))得到的结果是,
[('Zero', 'rating'),
('Zero', 'worst'),
('Zero', 'service'),
('rating', 'worst'),
('rating', 'service'),
('worst', 'service')]
在包含单词列表的pandas系列上应用相同的功能
df_preprocessed['tuples'] = df_preprocessed.lemma_corrected.apply(lambda x: tuplize_faster(x))
给出了这个结果.
[('[', "'"),
('[', 'Z'),
('[', 'e'),
('[', 'r'),
('[', 'o'),
('[', "'"),
('[', ','),
('[', ' '),
('[', "'"),
('[', 'r'),
('[', 'a'),
('[', 't'),
('[', 'i'),
('[', 'n'),
('[', 't'),
('[', "'"),
('[', ','),
('[', ' '),
('[', "'"),
('[', 'w'),
('[', 'o'),
('[', 'r'),
('[', 's'),
('[', 't'),
('[', "'"),
('[', ','),
('[', ' '),
('[', "'"),
('[', 's'),
('[', 'e'),
('[', 'r'),
('[', 'v'),
('[', 'i'),
('[', 'c'),
('[', 'e'),
('[', "'"),
('[', ']'),
("'", 'Z'),
("'", 'e'),
("'", 'r'),
("'", 'o'),
("'", "'"),
("'", ','),
("'", ' '),
("'", "'"),
("'", 'r'),
("'", 'a'),
("'", 't'),
("'", 'i'),
("'", 'n'),
("'", 't'),
("'", "'"),
("'", ','),
("'", ' '),
("'", "'"),
("'", 'w'),
("'", 'o'),
("'", 'r'),
("'", 's'),
("'", 't'),
("'", "'"),
("'", ','),
("'", ' '),
("'", "'"),
("'", 's'),
("'", 'e'),
("'", 'r'),
("'", 'v'),
("'", 'i'),
("'", 'c'),
("'", 'e'),
("'", "'"),
("'", ']'),
('Z', 'e'),
('Z', 'r'),
('Z', 'o'),
('Z', "'"),
('Z', ','),
('Z', ' '),
('Z', "'"),
('Z', 'r'),
('Z', 'a'),
('Z', 't'),
('Z', 'i'),
('Z', 'n'),
('Z', 't'),
('Z', "'"),
('Z', ','),
('Z', ' '),
('Z', "'"),
('Z', 'w'),
('Z', 'o'),
('Z', 'r'),
('Z', 's'),
('Z', 't'),
('Z', "'"),
('Z', ','),
('Z', ' '),
('Z', "'"),
('Z', 's'),
('Z', 'e'),
('Z', 'r'),
('Z', 'v'),
('Z', 'i'),
('Z', 'c'),
('Z', 'e'),
('Z', "'"),
('Z', ']'),
('e', 'r'),
('e', 'o'),
('e', "'"),
('e', ','),
('e', ' '),
('e', "'"),
('e', 'r'),
('e', 'a'),
('e', 't'),
('e', 'i'),
('e', 'n'),
('e', 't'),
('e', "'"),
('e', ','),
('e', ' '),
('e', "'"),
('e', 'w'),
('e', 'o'),
('e', 'r'),
('e', 's'),
('e', 't'),
('e', "'"),
('e', ','),
('e', ' '),
('e', "'"),
('e', 's'),
('e', 'e'),
('e', 'r'),
('e', 'v'),
('e', 'i'),
('e', 'c'),
('e', 'e'),
('e', "'"),
('e', ']'),
('r', 'o'),
('r', "'"),
('r', ','),
('r', ' '),
('r', "'"),
('r', 'r'),
('r', 'a'),
('r', 't'),
('r', 'i'),
('r', 'n'),
('r', 't'),
('r', "'"),
('r', ','),
('r', ' '),
('r', "'"),
('r', 'w'),
('r', 'o'),
('r', 'r'),
('r', 's'),
('r', 't'),
('r', "'"),
('r', ','),
('r', ' '),
('r', "'"),
('r', 's'),
('r', 'e'),
('r', 'r'),
('r', 'v'),
('r', 'i'),
('r', 'c'),
('r', 'e'),
('r', "'"),
('r', ']'),
('o', "'"),
('o', ','),
('o', ' '),
('o', "'"),
('o', 'r'),
('o', 'a'),
('o', 't'),
('o', 'i'),
('o', 'n'),
('o', 't'),
('o', "'"),
('o', ','),
('o', ' '),
('o', "'"),
('o', 'w'),
('o', 'o'),
('o', 'r'),
('o', 's'),
('o', 't'),
('o', "'"),
('o', ','),
('o', ' '),
('o', "'"),
('o', 's'),
('o', 'e'),
('o', 'r'),
('o', 'v'),
('o', 'i'),
('o', 'c'),
('o', 'e'),
('o', "'"),
('o', ']'),
("'", ','),
("'", ' '),
("'", "'"),
("'", 'r'),
("'", 'a'),
("'", 't'),
("'", 'i'),
("'", 'n'),
("'", 't'),
("'", "'"),
("'", ','),
("'", ' '),
("'", "'"),
("'", 'w'),
("'", 'o'),
("'", 'r'),
("'", 's'),
("'", 't'),
("'", "'"),
("'", ','),
("'", ' '),
("'", "'"),
("'", 's'),
("'", 'e'),
("'", 'r'),
("'", 'v'),
("'", 'i'),
("'", 'c'),
("'", 'e'),
("'", "'"),
("'", ']'),
(',', ' '),
(',', "'"),
(',', 'r'),
(',', 'a'),
(',', 't'),
(',', 'i'),
(',', 'n'),
(',', 't'),
(',', "'"),
(',', ','),
(',', ' '),
(',', "'"),
(',', 'w'),
(',', 'o'),
(',', 'r'),
(',', 's'),
(',', 't'),
(',', "'"),
(',', ','),
(',', ' '),
(',', "'"),
(',', 's'),
(',', 'e'),
(',', 'r'),
(',', 'v'),
(',', 'i'),
(',', 'c'),
(',', 'e'),
(',', "'"),
(',', ']'),
(' ', "'"),
(' ', 'r'),
(' ', 'a'),
(' ', 't'),
(' ', 'i'),
(' ', 'n'),
(' ', 't'),
(' ', "'"),
(' ', ','),
(' ', ' '),
(' ', "'"),
(' ', 'w'),
(' ', 'o'),
(' ', 'r'),
(' ', 's'),
(' ', 't'),
(' ', "'"),
(' ', ','),
(' ', ' '),
(' ', "'"),
(' ', 's'),
(' ', 'e'),
(' ', 'r'),
(' ', 'v'),
(' ', 'i'),
(' ', 'c'),
(' ', 'e'),
(' ', "'"),
(' ', ']'),
("'", 'r'),
("'", 'a'),
("'", 't'),
("'", 'i'),
("'", 'n'),
("'", 't'),
("'", "'"),
("'", ','),
("'", ' '),
("'", "'"),
("'", 'w'),
("'", 'o'),
("'", 'r'),
("'", 's'),
("'", 't'),
("'", "'"),
("'", ','),
("'", ' '),
("'", "'"),
("'", 's'),
("'", 'e'),
("'", 'r'),
("'", 'v'),
("'", 'i'),
("'", 'c'),
("'", 'e'),
("'", "'"),
("'", ']'),
('r', 'a'),
('r', 't'),
('r', 'i'),
('r', 'n'),
('r', 't'),
('r', "'"),
('r', ','),
('r', ' '),
('r', "'"),
('r', 'w'),
('r', 'o'),
('r', 'r'),
('r', 's'),
('r', 't'),
('r', "'"),
('r', ','),
('r', ' '),
('r', "'"),
('r', 's'),
('r', 'e'),
('r', 'r'),
('r', 'v'),
('r', 'i'),
('r', 'c'),
('r', 'e'),
('r', "'"),
('r', ']'),
('a', 't'),
('a', 'i'),
('a', 'n'),
('a', 't'),
('a', "'"),
('a', ','),
('a', ' '),
('a', "'"),
('a', 'w'),
('a', 'o'),
('a', 'r'),
('a', 's'),
('a', 't'),
('a', "'"),
('a', ','),
('a', ' '),
('a', "'"),
('a', 's'),
('a', 'e'),
('a', 'r'),
('a', 'v'),
('a', 'i'),
('a', 'c'),
('a', 'e'),
('a', "'"),
('a', ']'),
('t', 'i'),
('t', 'n'),
('t', 't'),
('t', "'"),
('t', ','),
('t', ' '),
('t', "'"),
('t', 'w'),
('t', 'o'),
('t', 'r'),
('t', 's'),
('t', 't'),
('t', "'"),
('t', ','),
('t', ' '),
('t', "'"),
('t', 's'),
('t', 'e'),
('t', 'r'),
('t', 'v'),
('t', 'i'),
('t', 'c'),
('t', 'e'),
('t', "'"),
('t', ']'),
('i', 'n'),
('i', 't'),
('i', "'"),
('i', ','),
('i', ' '),
('i', "'"),
('i', 'w'),
('i', 'o'),
('i', 'r'),
('i', 's'),
('i', 't'),
('i', "'"),
('i', ','),
('i', ' '),
('i', "'"),
('i', 's'),
('i', 'e'),
('i', 'r'),
('i', 'v'),
('i', 'i'),
('i', 'c'),
('i', 'e'),
('i', "'"),
('i', ']'),
('n', 't'),
('n', "'"),
('n', ','),
('n', ' '),
('n', "'"),
('n', 'w'),
('n', 'o'),
('n', 'r'),
('n', 's'),
('n', 't'),
('n', "'"),
('n', ','),
('n', ' '),
('n', "'"),
('n', 's'),
('n', 'e'),
('n', 'r'),
('n', 'v'),
('n', 'i'),
('n', 'c'),
('n', 'e'),
('n', "'"),
('n', ']'),
('t', "'"),
('t', ','),
('t', ' '),
('t', "'"),
('t', 'w'),
('t', 'o'),
('t', 'r'),
('t', 's'),
('t', 't'),
('t', "'"),
('t', ','),
('t', ' '),
('t', "'"),
('t', 's'),
('t', 'e'),
('t', 'r'),
('t', 'v'),
('t', 'i'),
('t', 'c'),
('t', 'e'),
('t', "'"),
('t', ']'),
("'", ','),
("'", ' '),
("'", "'"),
("'", 'w'),
("'", 'o'),
("'", 'r'),
("'", 's'),
("'", 't'),
("'", "'"),
("'", ','),
("'", ' '),
("'", "'"),
("'", 's'),
("'", 'e'),
("'", 'r'),
("'", 'v'),
("'", 'i'),
("'", 'c'),
("'", 'e'),
("'", "'"),
("'", ']'),
(',', ' '),
(',', "'"),
(',', 'w'),
(',', 'o'),
(',', 'r'),
(',', 's'),
(',', 't'),
(',', "'"),
(',', ','),
(',', ' '),
(',', "'"),
(',', 's'),
(',', 'e'),
(',', 'r'),
(',', 'v'),
(',', 'i'),
(',', 'c'),
(',', 'e'),
(',', "'"),
(',', ']'),
(' ', "'"),
(' ', 'w'),
(' ', 'o'),
(' ', 'r'),
(' ', 's'),
(' ', 't'),
(' ', "'"),
(' ', ','),
(' ', ' '),
(' ', "'"),
(' ', 's'),
(' ', 'e'),
(' ', 'r'),
(' ', 'v'),
(' ', 'i'),
(' ', 'c'),
(' ', 'e'),
(' ', "'"),
(' ', ']'),
("'", 'w'),
("'", 'o'),
("'", 'r'),
("'", 's'),
("'", 't'),
("'", "'"),
("'", ','),
("'", ' '),
("'", "'"),
("'", 's'),
("'", 'e'),
("'", 'r'),
("'", 'v'),
("'", 'i'),
("'", 'c'),
("'", 'e'),
("'", "'"),
("'", ']'),
('w', 'o'),
('w', 'r'),
('w', 's'),
('w', 't'),
('w', "'"),
('w', ','),
('w', ' '),
('w', "'"),
('w', 's'),
('w', 'e'),
('w', 'r'),
('w', 'v'),
('w', 'i'),
('w', 'c'),
('w', 'e'),
('w', "'"),
('w', ']'),
('o', 'r'),
('o', 's'),
('o', 't'),
('o', "'"),
('o', ','),
('o', ' '),
('o', "'"),
('o', 's'),
('o', 'e'),
('o', 'r'),
('o', 'v'),
('o', 'i'),
('o', 'c'),
('o', 'e'),
('o', "'"),
('o', ']'),
('r', 's'),
('r', 't'),
('r', "'"),
('r', ','),
('r', ' '),
('r', "'"),
('r', 's'),
('r', 'e'),
('r', 'r'),
('r', 'v'),
('r', 'i'),
('r', 'c'),
('r', 'e'),
('r', "'"),
('r', ']'),
('s', 't'),
('s', "'"),
('s', ','),
('s', ' '),
('s', "'"),
('s', 's'),
('s', 'e'),
('s', 'r'),
('s', 'v'),
('s', 'i'),
('s', 'c'),
('s', 'e'),
('s', "'"),
('s', ']'),
('t', "'"),
('t', ','),
('t', ' '),
('t', "'"),
('t', 's'),
('t', 'e'),
('t', 'r'),
('t', 'v'),
('t', 'i'),
('t', 'c'),
('t', 'e'),
('t', "'"),
('t', ']'),
("'", ','),
("'", ' '),
("'", "'"),
("'", 's'),
("'", 'e'),
("'", 'r'),
("'", 'v'),
("'", 'i'),
("'", 'c'),
("'", 'e'),
("'", "'"),
("'", ']'),
(',', ' '),
(',', "'"),
(',', 's'),
(',', 'e'),
(',', 'r'),
(',', 'v'),
(',', 'i'),
(',', 'c'),
(',', 'e'),
(',', "'"),
(',', ']'),
(' ', "'"),
(' ', 's'),
(' ', 'e'),
(' ', 'r'),
(' ', 'v'),
(' ', 'i'),
(' ', 'c'),
(' ', 'e'),
(' ', "'"),
(' ', ']'),
("'", 's'),
("'", 'e'),
("'", 'r'),
("'", 'v'),
("'", 'i'),
("'", 'c'),
("'", 'e'),
("'", "'"),
("'", ']'),
('s', 'e'),
('s', 'r'),
('s', 'v'),
('s', 'i'),
('s', 'c'),
('s', 'e'),
('s', "'"),
('s', ']'),
('e', 'r'),
('e', 'v'),
('e', 'i'),
('e', 'c'),
('e', 'e'),
('e', "'"),
('e', ']'),
('r', 'v'),
('r', 'i'),
('r', 'c'),
('r', 'e'),
('r', "'"),
('r', ']'),
('v', 'i'),
('v', 'c'),
('v', 'e'),
('v', "'"),
('v', ']'),
('i', 'c'),
('i', 'e'),
('i', "'"),
('i', ']'),
('c', 'e'),
('c', "'"),
('c', ']'),
('e', "'"),
('e', ']'),
("'", ']')]
我使用申请的方式有问题吗?
最佳答案 你试过itertools吗?
link to documentation
retObject = itertools.combinations(word_list,2)
因为你想要2个元组
编辑 – 返回列表
s = [在retObject中为i的[tuple(i)]
编辑表明该方法适用于熊猫系列.
a = pd.Series([‘零’,’评级’,’最差’,’服务’])
tuplize_faster(a)中
产量
[(‘零’,’评级’),
(‘零’,’最差’),
(‘零’,’服务’),
(‘评级’,’最差’),
(‘评级’,’服务’),
(‘最差’,’服务’)]