2014-09-23 36 views
0

我有簡單的循環:random.choice()從元組列表返回不良項目

vegetable_list = [('potatoes', 'potatoes', 'potatoes'), ('carrot', 'carrot'), ('onion', 'onion'), ('beet')] 
akg = 0 

print('Random vegetable: \n') 
while akg < 5: 
    vegetable_random = [(i[0]) for i in vegetable_list] 
    print(random.choice(vegetable_random)) 
    akg = akg + 1 

但是當我運行它 - 我得到正常結果中列出,其中有超過10項的項目,但對於'beet' - 我只是符號,而不是完整的單詞:

$ ./ovoch.py 
Random vegetable: 

potatoes 
carrot 
onion 
b 
b 

所以 - 我怎樣才能從列表空談?

+1

見例如http://stackoverflow.com/q/6682093/3001761 – jonrsharpe 2014-09-23 07:46:50

+1

請參閱[這不是一個元組?](http://stackoverflow.com/q/15412055)和[元組連接](http://stackoverflow.com/q/7192391) – 2014-09-23 07:46:59

回答

5

('beet')不是一個元組,這是一樣的,因爲'beet'元組是由,創造的 - 所以你要('beet',)

+0

謝謝,我的真實失敗:-) – setevoy 2014-09-23 07:52:33