2013-07-11 2 views
0

저는 파이썬 튜플을 배웠고 약간 압도되었습니다. 저는 아래에 합쳐 놓은 크기의 약 20 배의 튜플로 작업하고 있습니다. 뿐만 아니라, 지금 파이썬 튜플 이슈

{u'0UsShTrY': {u'a': {u'n': u'Backups'}, u'h': u'0UsShTrY', u'k': (16147314, 17885416, 1049370661, 902515467), u'ts': 13734967, u'p': u'5RtyGQwS', u'u': u'xpz_tb-YDUg', u't': 1, 'key': (16147314, 17885516, 10490661, 9015467)}, 
u'oMV32IgB': {u'a': {'n': 'Rubbish Bin'}, u'h': u'oMV32IgB', u'k': u'', u'ts': 13734735, u'p': u'', u'u': u'xpz_tb-YDUg', u't': 4}, 
u'AclTQTAa': {u'a': {u'n': u'Test3'}, u'h': u'AclTQTAa', u'k': (4031580, 13207606, 20877418,89356117), u'ts': 1373476935, u'p': u'4FlnwBTb', u'u': u'xpz_tb-YDUg', u't': 1, 'key': (4032580, 13208406, 20627418, 4893117)}, 
u'kEk0RbKR': {u'a': {u'n': u'Abandon All Ships - 5 - Stange Love.mp3'}, u'h': u'kEk0RbKR', u'k': (4714448, 440504, 14565743L, 7910538L), u'ts': 13737027, 'iv': (4284718, 20627111, 0, 0), u'p': u'wQkyFS6S', u's': 1731926, 'meta_mac': (3010404L, 2624700L), u'u': u'xpz_tb-YDUg', u't': 0, 'key': (94654, 201535, 385311L, 301074L, 42818, 204311, 3010404L, 269100L)}} 

, 내 문제는, 당신이 "테스트 3" 또는 를 볼 경우에 위치의 데이터에 액세스하기 위해 노력하고있어 "이상한 Love.mp3 - - (5) 모든 선박을 포기" 예를 들어 "u'p ': u'5RtyGQwS'," 첫 번째 줄이 보입니다. 튜플에 나오는 정보를 미리 정의하지 않고 어떻게 액세스 할 수 있습니까?

도움이 감사합니다. 감사.

+2

에 의해 그것을 할 수 있습니다, 데이터에서 가치 "테스트 3"에 접근합니다. '(16147314, 17885416, 1049370661, 902515467)'와 같은 사전에 튜플이 있습니다. 이게 네가 말하는거야? –

+0

구문이 올바르지 않거나 튜플 대신에 dict를 말하고 싶습니까? Python에서 {}은 사전 (연관 배열)을 정의하고()는 튜플 (불변 목록)을 정의합니다. –

답변

0

당신은 다음과 같이 함축로 일부 데이터를 추출 할 수 있습니다 :

[d[k]['a']['n'] for k in d] 
# => [u'Backups', 'Rubbish Bin', u'Test3', u'Abandon All Ships - 5 - Stange Love.mp3'] 

(당신이 당신의 DICT을 (댄 다윗이 말하는대로 d에서)하지 튜플,하는 딕셔너리의 가정).

0

실제로 보이는 튜플은 키/값 쌍으로 구성된 사전이 아니며 일부 값은 튜플이 포함 된 키/값 쌍을 가진 사전입니다.

MusicDict['0UsShTrY']['p'] 

이 '5RtyGQwS'

를 반환합니다

은 첫 번째 줄의 정보에 액세스하려면이 DICT 당신이 이런 식으로 필요한 정보에 액세스 할 예를 들어 MusicDict 호출되면

액세스하려면 모든 배송 :

MusicDict['kEk0RbKR'][['a']['n'] 

이 w 병실 반환 "모든 선박 포기"

이것이 데이터 구조에 가장 도움이되는 구조인지는 모르지만 약간 혼란 스럽습니다.

0

데이터는 에 중첩되어 저장되며 tuples이 아니라 저장됩니다. 사전에서 해당 키 (예 : d [ 'key'])를 사용하여 직접 값에 액세스 할 수 있습니다. 튜플의 경우 인덱스 (예 : t [2]는 튜플 t의 세 번째 요소에 액세스)에서만 요소에 액세스 할 수 있습니다.

은 사전이 아니라 튜플의

data['AclTQTAa']['a']['n']