2016-09-07 7 views
-2

안녕하세요. 도움을 많이 주셔서 감사합니다.Python에서 배열의 각 요소에 사전 값을 추가하십시오.

나는 이것이 바보 같은 질문이지만, 배열 내의 요소들에 사전 값을 덧붙이려고한다는 것을 확신한다. 지금은 단 하나의 항목으로 별도의 값 대신 요소의 전체 배열을로드 할 수 있습니다. 미안하지만 내가 잘 설명하지 못하면. 여기

Array = [4,5,6] 
dictionary {'index'} = [1,2,3] 

내가 뭐하는 거지이며

dictionary['index'].append(array) 

얼마나 많은 요소 I 문의는 사전에있는 경우 때문에 잘못 [ '인덱스'] [1]가 반환 잘못 예를 들면 : 1 대신 3을 입력하십시오. 여기를보십시오 :

대답은 3, thats 1,2,3입니다.

print range(len(dictionary['index'][1])) 

대답은 1, [4,5,6]입니다. 배열을 잘못로드해야합니다. 아무도 내가 뭘 잘못하고 있는지 알아? 감사! 기존 목록에 전체 목록을 추가하려면

+1

귀하의 예를 잘못'사전 { '인덱스'} = [1,2,3]'이 질문은 오히려 불분명하다 InvalidSyntax – iScrE4m

+2

가 발생합니다. 실용적인 코드 예제를 제공 할 수 있습니까? 두번째 줄은'dictionary [ 'index'] = [[1, 2, 3]]'('='앞에 중괄호 대신에 대괄호와 대괄호 후). 이 문제가 해결 된 후에는 귀하가 주장하는 행동이 귀하의 예를 보여주지 않습니다 (시도하십시오!), 그래서 당신은 명백하게 다른 것을하고 있습니다. –

+0

또한, 사전 [ 'index']'의 첫 번째와 두 번째 요소는 정수이므로 길이를 얻을 수 없습니다. 아마 당신은'len (range [dictionary [ 'index'] [0]))'을 쓰려고했다. – cphyc

답변

3

, 당신은 단지 extend() 사용할 수 있습니다

a = [4,5,6] 
d = {'index': [1,2,3]} 
d['index'].extend(a) 

출력 :

{'index': [1, 2, 3, 4, 5, 6]} 

두를 포함하는 목록으로 끝낼하려면 [1,2,3] 및 [4,5,6] 목록에있는 경우 사전 값이 처음 생성되는 방법을 고려해야합니다. 당신은 할 수 있습니다 :

d['index'] = [1,2,3] 
d['index'] = [d['index']] 
d['index'].append([4,5,6]) 

출력 :

{'index': [[1, 2, 3], [4, 5, 6]]} 
+0

OP는 실제로'{ 'index': [[1, 2, 3], [4, 5, 6]]}'로 끝나기를 원합니다. 질문에서 print 문 예를보십시오. –

+0

설명해 주셔서 감사합니다. 나는 그것을 위해 편집을했다. – denvaar

+0

빙고! 너무 많이 고마워. –

관련 문제