gpt4 book ai didi

python - 在 Python 列表中查找元素的有效方法?

转载 作者:太空宇宙 更新时间:2023-11-04 07:25:16 24 4
gpt4 key购买 nike

我有一个目录中的文件列表。我必须只处理该目录中的某些文件。 filelist 是我想要的文件列表。我该如何实现这一目标?对 bash 解决方案不感兴趣,因为我必须在这个 Python 脚本中完成所有工作。非常感谢!

for record in result:
filelist.append(record[0])

print filelist


for file in os.listdir(sys.argv[1].strip() + "/"):
for file in filelist: #This doesn't work, how else do I do this? If file equals to my desired file-list, then do something.
print file

抱歉,我不知道我是怎么错过的!我猜是清晨编码!模组们,请关闭它,除非有人想以一种有效的方式参与其中。

for file in os.listdir(sys.argv[1].strip() + "/"):
if file in filelist:
print file

最佳答案

如果顺序和唯一性无关紧要,您可以使用 set 交集,这会更有效率。

import set
os_list = os.listdir(sys.argv[1].strip() + "/")
for file in set(os_list) & set(filelist):
#...

改进示例:

import random
import timeit

l = [random.randint(1,10000) for i in range(1000)]
l2 = [random.randint(1,10000) for i in range(1000)]

def f1():
l3 = []
for i in l:
if i in l2:
l3.append(i)
return l3

def f2():
l3 = []
for i in set(l) & set(l2):
l3.append(i)
return l3

t1 = timeit.Timer('f1()', 'from __main__ import f1')
print t1.timeit(100) #2.0850549985

t2 = timeit.Timer('f2()', 'from __main__ import f2')
print t2.timeit(100) #0.0162533142857

关于python - 在 Python 列表中查找元素的有效方法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4088092/

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