2016-06-21 6 views

답변

0

은 내가 아는 특정 기능을이 밤은하지만 당신은 DICT 이해를 사용할 수 있습니다

value = "value=sahi" 
value = value.replace("value=", "") 

my_dict = {} 
counter = 1 

for c in value: 
    my_dict[counter] = c 
    counter += 1 

for k, v in my_dict.iteritems(): 
    print k, v 
+0

'enumerate'는 선택적인 시작 인덱스를 취할 수 있으므로'k + 1 '은 필요 없습니다. – erip

0

당신이 뭔가를 할 수 '='에 주어진 문자열을 분할합니다. 이렇게하면 신경 쓰지 않는 부분과 걱정하는 부분이 분리됩니다. 파이썬에서는 일반적으로 _을 사용하여 "상관 없음"을 나타냅니다.

2 단계 : 1 인덱스 위치를 문자열의 해당 0베이스 인덱스 문자에 매핑하는 사전을 만듭니다. 파이썬에서 enumerate은 0 인덱싱 된 위치로 정확하게 이것을 수행하는 반복문의 반복자를 생성합니다. 선택적 시작 색인을 제공 할 수 있습니다. 이 경우, 우리는 하나부터 시작하고 싶습니다.

my_dict = {i: c for i, c in enumerate(word, 1)} 

분명히 한 줄로 처리 할 수 ​​있지만 특히 내재가 이미 마술 인 경우에는 분명히 명시하는 것이 좋습니다. :)

+0

이것은 꽤 만족스럽지 않습니다. – erip

-1

1 단계 :

s = "value=sahi" 

d = {k+1: v for k, v in enumerate(s.split("=")[1])} 

>>> {1: 's', 2: 'a', 3: 'h', 4: 'i'} 
관련 문제