2014-09-02 1 views
0

내가이 키 - 값 쌍을 포함하는 딕셔너리를 가지고, 하나는파이썬 - 어떻게 사전의 내부 목록에 정수를 설정하는

dict_special = 
{'money' : 100, 
'sweets' : ['bonbons','sherbet', 'toffee','pineapple cube']} 

내가 목록에 첫 번째 값을 설정하고 싶은 목록을하다 또한, 그래서 나는 항목을

을 추가 할 수 있습니다 즉

dict_special = 
{'money' : [100, 250, 400] 
'sweets' : ['bonbons','sherbet', 'toffee','pineapple cube']} 

이것은 내가 지금까지 시도한 것입니다 :

newlist = [dict_special['money']] 
newlist.append(250) 
dict_special['money'] = newlist 

하지만 거기에 도달하는 데 더 간결하고 Pythonic 한 방법이 있어야한다고 생각합니다. 제안 사항이 있으십니까?

+0

이 입력은 어디에서 왔습니까? 사실을 모른 채로 변환하는 대신에 int 대신에 하나의 int리스트를 유지하는 것으로 dict을 만드는 것이 더 합리적 일 수 있습니다. – abarnert

답변

0

에 대해 어떻게 :

newList = {key: value if isinstance(value, list) else [value] 
      for key, value in dict_special.items()} 
2

더 간결한 방법이 작성 :

newlist = [dict_special['money']] 
newlist.append(250) 
dict_special['money'] = newlist 

은 ... 다음과 같습니다

dict_special['money'] = [dict_special['money'], 250] 

그러나, 당신이 왜 왔는지보고 가치 이 일을하려고합니다. 어떻게 처음에 사전을 만들었습니까? 어쩌면 100 대신 [100]으로 작성 했어야합니다. 그렇지 않다면 어쩌면 입력 어 사전 (100)을 사용하고자하는 단어 사전 ([100])으로 바꾸기위한 또 다른 단계가 필요합니다. 어쩌면 당신은 직접 "dict"대신에 "multidict"클래스를 사용하기를 원할 것입니다.

코드와 문제에 대해 더 많이 알지 못해도 말하기는 어렵지만 이러한 종류의 변경을 임시 방식으로 수행하려는 것은 대개 코드의 다른 부분에서 잘못된 부분이 있음을 나타내는 기호입니다.

+0

@ Robᵩ : 감사합니다. 결정된. – abarnert

관련 문제