2012-11-30 57 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