2014-04-18 1 views
0

키 목록이있을 때 dict에서 특정 값을 추출하는 쉽고 읽기 쉽고 Python적인 방법이 있습니까?키 목록이 있으면 dict에서 값 목록/튜플을 가져옵니다

나는 종종 자신이이 같은 일을 찾을 : 추한 긴

uri = "http://%s:%s" % (self.options['listener_port'], self.options['listener_host']) 

합니다. 나는 항상 다음과 같이 쓰는 것을 느낀다 :

uri = "http://%s:%s" % self.options['listener_port', 'listener_host'] 

가능해야하지만 (적어도 파이썬 2.7에서는 유효하지 않다).

"공식"Python 방식은 무엇입니까? 대신 (더 구식) % 형식의 str.format를 사용하는 경우

+1

'[list_of_keys의 k에 대한 [mydict [k]]와 (과) 비슷한 의미입니까? 아니면 당신의 경우에'[listener_port ','listener_host ']'k의 self.options [k] ... ... – twalberg

답변

2

, 당신은 간단하게 수행 할 수 있습니다 더 일반적인 경우

"http://{0[listener_port]}:{0[listener_host]}".format(self.options) 

, 당신은에서 dict에서 여러 값을 얻을 수 있습니다 keys의 목록이 좋아 :

values = [d[key] for key in keys] 

풀고을 예를 들어, *를 사용하여

"http://{0}:{1}".format(*(d[key] for key in keys)) 

하지만 수 없습니다 압축을 풀고 % 형식으로.

+0

좋은데 사실은 dict의 값 목록/튜플을 얻지 못합니다. –

+0

@AloisMahdal 좀 더 일반적인 정보로 업데이트했습니다. – jonrsharpe

관련 문제