2017-10-21 2 views
0

큰 목록의 이름에서 임의의 이름 목록을 만들고 싶습니다. 문제는 생성 된 이름 사이에 공백이 없다는 것입니다. 나는 공간을 두는 방법을 이해할 수 없다.무작위 목록의 공간이 생성되었습니다.

가 어떻게 이름 사이에 공간을 추가 할 수 있습니다 SaraAdamDickPopeyeSaraPopeyeLory : 여기 내 코드는

import random 

final_list = "" 

a=0 

sss = ("John","Adam","Sara","Lory","Dick","Popeye") 

while a<7: 

    x = random.choice(sss) 

    final_list += x 

    a += 1 

print (final_list) 

결과이 같은 것입니다입니까? 또한, 누구든지이 코드를 수행하는 더 짧은 방법을 제안 할 수 있습니까?

당신은 원래 연결에서 추가 빈 빈 문자열을 추가 할 수 있습니다
+0

안녕하십니까. 시간을내어 [ask]를 읽으십시오. [파이썬에서 문자열을 연결하는 기본 방법은 무엇입니까?] (https://stackoverflow.com/questions/12169839/which-is-the-preferred-way-to-concatenate-a-string-in-python) 도움이 되길. 들여 쓰기를 수정하십시오. – wwii

답변

0

는 :

x = random.choice(sss) 
final_list += " "+x if final_list else x 
a += 1 

또는, 더 정확하게, 지능형리스트에 ' '.join를 사용

sss = ("John","Adam","Sara","Lory","Dick","Popeye") 
final_string = ' '.join(random.choice(sss) for i in range(7)) 
+0

이름 앞에 공백이 추가되기 때문에 올바르게 작동하지 않습니다. –

+0

@ShubhamSingla 최근 편집을 참조하십시오. – Ajax1234

0

에 공백이 선행 또는 후행 방지하기 위해 체크 final_list 길이가 이미 0보다 큰 경우 당신이 명시 적 검사를하지 않으려면

import random 

final_list = "" 
a=0 
sss = ("John","Adam","Sara","Lory","Dick","Popeye") 
while a<7: 
    x = random.choice(sss) 
    final_list = final_list + " " + x if len(final_list) > 0 else x 
    a += 1 
print (final_list) 

, 당신은 선도하고 final_list을 구축 한 후 후행 공백을 제거 strip 기능을 사용할 수있다.

관련 문제