de-vraag
  • Pytania
  • Tagi
  • Użytkownicy
Powiadomienia
Nagrody
Rejestracja
Po zarejestrowaniu się, będziesz otrzymywać powiadomienia o odpowiedziach i komentarzach do swoich pytań.
Zaloguj się
Brak tłumaczeń pasujących do Twojego wyszukiwania Jeśli masz już konto, zaloguj się, aby sprawdzić nowe powiadomienia.
Za dodane pytania, odpowiedzi i komentarze przewidziane są nagrody.
Więcej
Źródło
Edytuj
Carl Meyer
Carl Meyer
Question

Jak połączyć dwa słowniki w jednym wyrażeniu?

Mam dwa słowniki Pythona i chcę napisać pojedyncze wyrażenie, które zwraca te dwa słowniki, połączone. Metoda update() byłaby tym, czego potrzebuję, gdyby zwracała swój wynik zamiast modyfikować dict in-place.

>>> x = {'a': 1, 'b': 2}
>>> y = {'b': 10, 'c': 11}
>>> z = x.update(y)
>>> print(z)
None
>>> x
{'a': 1, 'b': 10, 'c': 11}

Jak mogę uzyskać ten ostateczny połączony słownik w z, a nie w x?

(Żeby było jasne, ostatnia-jedyna-wygrana obsługa konfliktu z dict.update() jest tym, czego również szukam).

4297 2008-09-02T07:44:30+00:00 3
 connectyourcharger
connectyourcharger
Edytowane pytanie 19. października 2019 в 8:40
Programowanie
python
dictionary
merge
Popular videos
Słowniki. Jak odnaleźć się w ich gąszczu? Poradnik dla klas IV-VIII
Słowniki. Jak odnaleźć się w ich gąszczu? Poradnik dla klas IV-VIII
2 lata temu
Słowniki powtórka
Słowniki powtórka
2 lata temu
poradnik 5 jak podłączyć 2 rutery w jednej sieci LAN
poradnik 5 jak podłączyć 2 rutery w jednej sieci LAN
10 miesięcy temu
Wiązanie żyłek. Jak połączyć 2 żyłki, plecionki.
Wiązanie żyłek. Jak połączyć 2 żyłki, plecionki.
4 lata temu
Żyrandol dwustrefowy i łącznik świecznikowy jak podłączyć # 3
Żyrandol dwustrefowy i łącznik świecznikowy jak podłączyć # 3
3 lata temu
Jak ŁATWO i SZYBKO połączyć dane z kilku plików w jeden? Excel, PowerQuery
Jak ŁATWO i SZYBKO połączyć dane z kilku plików w jeden? Excel, PowerQuery
5 lat temu
7 nowych wyrażeń w słowniku OXFORD [2021] #36
7 nowych wyrażeń w słowniku OXFORD [2021] #36
5 miesięcy temu
Słowa, wyrażenia, zwroty, które wydają się poprawne, ale takie nie są… Mówiąc Inaczej, odc. 91
Słowa, wyrażenia, zwroty, które wydają się poprawne, ale takie nie są… Mówiąc Inaczej, odc. 91
4 lata temu
#3 Jak sterować instalacją CO? i-2, i-3 PLUS - sterowniki instalacyjne
#3 Jak sterować instalacją CO? i-2, i-3 PLUS - sterowniki instalacyjne
2 lata temu
Jak podłączyć włącznik schodowy/ zmienny / klatkowy - Duża dawka wiedzy
Jak podłączyć włącznik schodowy/ zmienny / klatkowy - Duża dawka wiedzy
9 miesięcy temu
Doradztwo sadownicze. Dziwne zachowanie jednego z kaptanów
Doradztwo sadownicze. Dziwne zachowanie jednego z kaptanów
6 lat temu
Słowniki
Słowniki
14 lat temu
Naucz się angielskiego podczas snu ||| Najważniejsze angielskie wyrażenia i słowa ||| 8 godzin
Naucz się angielskiego podczas snu ||| Najważniejsze angielskie wyrażenia i słowa ||| 8 godzin
3 lata temu
excel-120 - Dopasowanie elementów z jednej listy do odpowiadających im w drugiej liście
excel-120 - Dopasowanie elementów z jednej listy do odpowiadających im w drugiej liście
9 lat temu
#142 Słownik talentów – Indywidualizacja (Indivdualization) – Sezon 2
#142 Słownik talentów – Indywidualizacja (Indivdualization) – Sezon 2
1 rok temu
« Poprzedni
Następny »
To pytanie ma 1 odpowiedź w języku angielskim, aby je przeczytać zaloguj się na swoje konto.
Thomas  Vander Stichele
Thomas Vander Stichele
2. września 2008 в 7:50
2008-09-02T07:50:12+00:00
Więcej
Źródło
Edytuj
#8435358

W twoim przypadku, to co możesz zrobić to:

z = dict(x.items() + y.items())

To, tak jak chcesz, umieści końcowy dict w z, i sprawi, że wartość dla klucza b zostanie prawidłowo nadpisana przez drugą (y) wartość dict':

>>> x = {'a':1, 'b': 2}
>>> y = {'b':10, 'c': 11}
>>> z = dict(x.items() + y.items())
>>> z
{'a': 1, 'c': 11, 'b': 10}

Jeśli używasz Pythona 3, jest to tylko trochę bardziej skomplikowane. Aby utworzyć z:

>>> z = dict(list(x.items()) + list(y.items()))
>>> z
{'a': 1, 'c': 11, 'b': 10}
 wim
wim
Edytowana odpowiedź 29. sierpnia 2018 в 5:18
1557
0
Matthew Schinckel
Matthew Schinckel
2. września 2008 в 1:00
2008-09-02T13:00:46+00:00
Więcej
Źródło
Edytuj
#8435359

Alternatywa:

z = x.copy()
z.update(y)
606
0
Greg Hewgill
Greg Hewgill
2. września 2008 в 7:49
2008-09-02T07:49:27+00:00
Więcej
Źródło
Edytuj
#8435357
x = {'a':1, 'b': 2}
y = {'b':10, 'c': 11}
z = dict(x.items() + y.items())
print z

Dla elementów z kluczami w obu słownikach ('b'), możesz kontrolować, który z nich kończy się na wyjściu, umieszczając go jako ostatni.

56
0
Dodaj pytanie
Kategorie
Wszystkie
Technologia
Kultura / Rekreacja
Życie / Sztuka
Nauka
Profesjonalny
Biznes
Użytkownicy
Wszystkie
Nowy
Popularny
1
Zuxriddin Muydinov
Zarejestrowany 12 godzin temu
2
Денис Анненский
Zarejestrowany 2 dni temu
3
365
Zarejestrowany 1 tydzień temu
4
True Image
Zarejestrowany 1 tydzień temu
5
archana agarwal
Zarejestrowany 1 tydzień temu
CS
DA
DE
EL
ES
FR
ID
IT
JA
LT
NL
PL
PT
RU
SK
TR
ZH
© de-vraag 2022
Źródło
stackoverflow.com
na podstawie licencji cc by-sa 3.0 z przypisaniem