파이썬 코드 질문드려요(기초질문)

조회수 437회
num1 = '적지를 눈앞에 둔 공격군이 상부의 명령없이 마음대로 회군한다는 것은 명백한 반역행위이다. "우리를 버려두고 당신만 가면 남아 있는 사람들은 어떡하냐"는 것이었다.'
num2 = '그러나 우왕과 최영은 막다른 골목으로 몰린 이성계가 선택할 수 있는 또 다른 가능성을 무시했다.'
num3 = '4불가론을 내세우며 위화도 회군을 감행한 이성계의 허물은 이로써 만회될 수 있었다.'

이렇게 되어 있는 텍스트를

print(num1.split())

# ['적지를', '눈앞에', '둔', '공격군이', '상부의', '명령없이', '마음대로', '회군한다는', '것은', '명백한', '반역행위이다.', '"우리를', '버려두고', '당신만', '가면', '남아', '있는', '사람들은', '어떡하냐"는', '것이었다.']  

이렇게 num1 외에도 다른 텍스트들도 split()하고 싶습니다.

for i in range(1, 4):  
    num = 'num{}'.format(i)  
    print(num.split())    

근데 이렇게 하면

['num1']
['num2']
['num3']

이렇게 됩니다.. 어떻게 해결해야 할까요?

1 답변

  • 저라면 지금이라도 과감하게 회군해서 데이터 구조 및 전략을 변경하겠습니다.

    nums = [
        '적지를 눈앞에 둔 공격군이 상부의 명령없이 마음대로 회군한다는 것은 명백한 반역행위이다. "우리를 버려두고 당신만 가면 남아 있는 사람들은 어떡하냐"는 것이었다.',
        '그러나 우왕과 최영은 막다른 골목으로 몰린 이성계가 선택할 수 있는 또 다른 가능성을 무시했다.',
        '4불가론을 내세우며 위화도 회군을 감행한 이성계의 허물은 이로써 만회될 수 있었다.'
    ]
    
    # 핵심은 num1, num2 같은 별도의 변수에 각 대상 문자열을 꽂지 말고 목록을 사용하자는 것입니다.
    # 대부분 언어가 그렇지만 특히 파이썬에서는 변수명을 동적으로 얻거나 지정하는 것이 별로 좋은 아이디어가 못됩니다.
    
    # 이 목록에서 세 번째 문자열을 찾으려면:
    print(nums[2])
    
    # 별도의 문자열을 추가하려면:
    nums.append("이성계가 역사의 전면에 나서면서 최영은 몰락해 갔다.")
    
    # 이 목록 전체에 대해서 작업을 하려면:
    for num in nums :
        print(num.split())
    
    # 참 쉽죠?
    

답변을 하려면 로그인이 필요합니다.

프로그래머스 커뮤니티는 개발자들을 위한 Q&A 서비스입니다. 로그인해야 답변을 작성하실 수 있습니다.

(ಠ_ಠ)
(ಠ‿ಠ)