gpt4 book ai didi

python - 从列表创建二元组

转载 作者:太空宇宙 更新时间:2023-11-03 13:08:48 25 4
gpt4 key购买 nike

我需要从 Python 中的列表生成 2 元组,这样,在一个元组 (a,b) 中,a!=b 并且如果一个元组(a,b)已经生成,跳过生成(b,a)

这是我写的东西。它达到了目的。

但是,当它在 pandas dataframe 中运行时,运行需要一些时间。

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 Series 时。

这是我的职责,

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', 'worst', 'service'])) 得到的结果是,

[('Zero', 'rating'),
('Zero', 'worst'),
('Zero', 'service'),
('rating', 'worst'),
('rating', 'service'),
('worst', 'service')]

在包含单词列表的 pandas Series 上应用相同的函数

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', ']'),
("'", ']')]

我使用apply的方式有问题吗?

最佳答案

你试过 itertools 了吗? link to documentation

retObject = itertools.combinations(word_list, 2)

因为你想要 2 个元组

编辑 - 返回列表

s = [tuple(i) for i in retObject]

经过编辑以表明该方法适用于 Pandas 系列。

a = pd.Series(['零', '评级', '最差', '服务'])
tuplize_faster(a)
输出
[('零', '评分'),
('零','最差'),
('零','服务'),
('评分','最差'),
('评分','服务'),
('最差', '服务')]

关于python - 从列表创建二元组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49274565/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com