2012-11-30 60 views
1

glob.iglob()-函数返回一个迭代器。我如何最有效地将其“项目”分配给Python中的列表?我想要一个列表中的结果,以便我可以选择一个随机项目random.choice()将glob.iglob()结果分配给列表

回答

5

您可以使用glob.glob,因为它返回一个列表。

要建立一个列表出任意可迭代的,你只需要使用list内置:

list(glob.iglob('*')) 
+0

@poplitea - 我怀疑你可以让水珠不区分大小写。我认为你可以像'[aA]'一样认为匹配小写字母a或大写字母A.否则,你可能需要回归正则表达式和'os.listdir'。 – mgilson

+0

无论如何感谢您的快速和解释性答案。无论如何,了解'list()'函数都会派上用场。 – poplitea

+0

'list'实际上是一个内建类型,即使它被记录在'functions'下面。我不知道是否将它称为函数或类型,但知道它是很好的...('print(str(list))vs'print(str(range))') – mgilson