python – 从列表中创建2元组

我需要从
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)中
产量
[(‘零’,’评级’),
 (‘零’,’最差’),
 (‘零’,’服务’),
 (‘评级’,’最差’),
 (‘评级’,’服务’),
 (‘最差’,’服务’)]

点赞