gpt4 book ai didi

python - 如何确保两个 Python 列表中的元素数量相等?

转载 作者:行者123 更新时间:2023-11-28 21:42:55 25 4
gpt4 key购买 nike

我有两个列表,每个列表的长度约为 160 万个项目。每个项目要么是空白,要么有一个包含 1 个或多个字符串的嵌入列表。不幸的是,其中一个列表中缺少数据,因此两者不对应。我想将这些列表的内容写入平面数据框,但如果数组长度不同则不能。

我已经尝试了一个 for 循环,当它检测到一个项目在一个列表中的长度与另一个列表中的长度不同时,将 NA 嵌入其中一个列表中,但是这种方法需要很长时间,因为它必须循环通过 160 万个项目。

是否有比 for 循环方法更快、更优雅的方法来执行此操作。让整个事情运行大约需要 6 个小时。

编辑:这是我的意思的一个例子:

list_A = [[''],[''],[''],['a'],['a','b','c'],[''],['d']]
list_B = [[''],[''],[''],['a'],[''],[''],['']]

我想要的是将 NA 放在 list_B 的空列表中,这样 list_B 看起来像:

list_A = [[''],[''],[''],['a'],['a','b','c'],[''],['d']]
list_B = [[''],[''],[''],['a'],['NA','NA','NA'],[''],['NA']]

最佳答案

在您的示例中,相应的项目要么相同,要么 list_B 中的项目应替换为与项目长度相同的 NA 列表在 list_A 中。这个生成器表达式应该足够快:

(a if a==b else len(a)*['NA'] for a,b in zip(list_A,list_B)) 

关于python - 如何确保两个 Python 列表中的元素数量相等?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43036302/

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