리스트에 있는 숫자를 문자로 변환
조회수 601회
[1, 2, 3, 4]
와 같은 리스트가 주어졌을 때,
1 = '1'
2 = '2'
3 = 'a'
4 = 'b'
특정 숫자에 특정 문자를 반환할 수 있도록 하는 방법이 있을까요?
원하는 결과 값은
['1' ,'2','a','b']
-> 최종적으로는 '12ab'
로 출력하고 싶습니다.
하나씩 할당하는 방법으로 접근해야할 것 같은데 감이 잡히지 않습니다.
2 답변
-
1, 2, 3, 4 에 대한 매핑이 존재하고, 매핑 후의 결과를 join 하려는 거잖아요.
>>> l = [ 1, 2, 3, 4 ] >>> map_table = { 1:"1", 2:"2", 3:"a", 4:"b" } >>> mapped = [ map_table[e] for e in l ] >>> mapped ['1', '2', 'a', 'b'] >>> ''.join(mapped) '12ab' >>> >>> >>> def map_join(l: list): return ''.join(map_table[e] for e in l) >>> map_join([1,2,3,4]) '12ab' >>> map_join([2,3,1,2]) '2a12' >>> map_join([1,1,1,1]) '1111' >>>
-
정확히 어떤 것을 원하시는 건지는 잘 모르겠는데.. 일단 질문 내용의 경우 다음과 같이 구현할 수 있습니다.
list1 = [1, 2, 3, 4] a = '' for i in list1: if i == 1: a += '1' elif i == 2: a += '2' elif i == 3: a += 'a' elif i == 4: a += 'b' print(a) >> '12ab' 또는 list1 = [1, 2, 3, 4] dict1 = {1:'1', 2:'2', 3:'a', 4:'b'} a = '' for i in list1: a += dict1[i] print(a) >> '12ab'
댓글 입력