2016-12-25 2 views
0

사용하여 파이썬 3앞에 추가 사전 (파이썬)

그래서 내가이 사전

[{'code': '123456', 'reward': 'awesome reward', 'source': 'awesome source'}, 
{'code': '12345', 'reward': 'some reward', 'source': 'some source'} 
] 

와 미래의 목적을 위해

[ {'code': '123456', 'reward': 'awesome reward', 'source': 'awesome source'} 
    {'code': '12345', 'reward': 'some reward', 'source': 'some source'}, 
    {'code': '54321', 'reward': 'another reward', 'source': 'another source'} 
] 

이 난의 마지막 개체를 원하는 두 번째 사전은 '새'개체입니다.

,

나는 내가 여기에 수르야의 제안을 사용하여 두 개의 사전을 병합 할 수 있어요

[ {'code': '54321', 'reward': 'another reward', 'source': 'another source'}, 
    {'code': '123456', 'reward': 'awesome reward', 'source': 'awesome source'} 
    {'code': '12345', 'reward': 'some reward', 'source': 'some source'} 
] 

로 상단에있는 최신 항목 (DICT 2의 마지막)와 세 번째 (또는 신규) 사전을 만들려면 : Combine two dictionaries and remove duplicates in python

하지만 내 새로운 가치가 추가됩니다. 나는 어떤 종류의 prepend 함수를 찾고있다.

내가 명확하지 않은 경우 사과드립니다.

미리 감사드립니다.

+4

당신은 *이 개 * 목록이 각 * 포함 * 사전. –

답변

2

귀하의 주문은 목록에 있습니다. 당신은 [0:0] 슬라이스에 할당하여 목록에 붙일 수 있습니다 list의 매우 추가에 효율적이고 prepending이 매우 효율적인 것을

a = [1, 2, 3] 
a[0:0] = [4] 
# a is now [4, 1, 2, 3] 
1

참고. 당신은 그러나이 같은 붙일 수 있습니다

list.insert(0, element_to_insert) 
+0

고마워요, 제게는 효과가있었습니다! (아직 upvote 수 없습니다) 모두 도와 주셔서 감사합니다! – Chrizlee

1

당신은 단순히 목록의 요소를 연결할 수 :

[x for x in d2 if x not in d1] + [x for x in d2 if x in d1]