2017-03-24 95 views
0

比方說,我有一個生成隨機的名字如何將循環輸出與另一個循環輸出結合使用?

循環
names = ['Kiri', 'Elizabeth', 'Philip', 'Charlotte', 'Lydia'] 

random_names = [] 
for x in range(3): 
    random_names.append(random.choice(names)) 
print (random_names) 

- 這將打印出隨機3名如[「夏洛特」,「肥姐」,「桐」]

然後我想生成隨機數,讓說,從1到20

random_numbers = random.sample([x for x in range (1,20)], (3)) 
print (random_numbers) 

而且可以說我們得到了[7,13,2]

然後我的問題是,我想分配這些隨機numbe rs以下隨機名稱,以便它與名稱相關聯。我應該如何編寫代碼的方式,因此它可以表現爲

( '山貓',7),( '肥姐',13),( '桐',2)提前

謝謝!

+0

只需使用['zip'](https://docs.python.org/3.6/library/functions.html?highlight=zip#zip)來合併兩個列表'zip(random_names,random_numers)' – AChampion

回答

1

有幾種方法做它,你可以使用zip看看這個小例子:

names = ['Kiri', 'Elizabeth', 'Philip', 'Charlotte', 'Lydia'] 
random_numbers = random.sample([x for x in range (1,20)], (3)) 
zip(names,random_numbers) 

輸出

[( '桐',19),( '伊麗莎白',3) ,( '菲利普',1)]

上面的輸出是一個list of tuples

+0

問題是我我使用python 3,所以它似乎我不能使用,因爲發生錯誤 -

+1

好吧,我發現對於python 3,我必須添加列表盈方。所以列表(zip(名稱,隨機數))。謝謝 –