2011-04-10 7 views
2

나는 튜플을 키로 사용하고 튜플을 값으로 갖는 사전을 가지고 있습니다. 키에 기반한 사전 값에 액세스하는 방법이 필요합니다. 예를 들어 는 :사전의 튜플 값 확인

d = {} 
d = { (1, 2) : ('A', 'B'),(3, 4) : ('C', 'B') } 

자, 먼저 나는 키 (1, 2) 이미 사전에 존재하는지 확인해야합니다. 같은

뭔가 : 당신은 그 어느처럼

if d.has_key(1,2) 
    print d[1] 
    print d[2] 

답변

4

당신은 단순히 키와 문자 그대로의 튜플 사용할 수 있습니다

>>> d = {(1, 2): ('A', 'B'), (3, 4): ('C', 'D')} 
>>> (1, 2) in d 
True 
>>> d[(1, 2)] 
('A', 'B') 
>>> d[(1, 2)][0] 
'A' 
0

그냥 사전을 사용하여 ...

potential_key = (1,2) 
potential_val = d.get(potential_key) 
if potential_val is not None: 
    # potential_val[0] = 'A' 
    # potential_val[1] = 'B' 
2

f(a, b)은 괄호와 쉼표가 consu이기 때문에 "두 개의 인수가있는 호출 f"로 처리됩니다. med를 함수 호출 구문의 일부로 사용하면 터플처럼 보이지 않습니다. 리터럴 튜플을 함수에 전달해야하는 경우 f((a, b))을 사용하십시오.

그러나 dict.has_key 이후

in를 사용되지 않으며,이 불편 함이 사라집니다 : (1, 2) in d