2017-03-24 4 views
0

의 내가 임의의 이름for 루프 출력과 for for 루프 출력을 결합하는 방법은 무엇입니까?

를 생성하는 루프가 있다고 가정 해 봅시다
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]

그럼 내 질문에, 나는이 랜덤 한 접점을 할당 할 우리가 가지고 말할 수 있습니다 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

알았습니다. 파이썬 3에서는 그 목록을 infront에 추가해야합니다. 그래서 list (zip (names, random_numbers)). 감사 –