def combine_dicts(a, b):
if b is None:
return a
return dict(a.items() + b.items() +
[(k, combine_dicts(a[k], b[k])) for k in set(b) & set(a)])
a dan b sepatutnya kedua-duanya adalah data jenis dict Bagaimana untuk memahami fungsi ini, terutamanya pulangan terakhir? ?
Beginilah ia ditulis dalam Python 2. Datang ke Python versi 3.6:
Sepatutnya lebih cekap. Semua yang lain hampir sama.
Ia bukan kod peringkat dewa, dan juga tidak sukar untuk difahami. Hanya menggabungkan nilai secara rekursif dengan kunci yang sama. Apa yang anda perlu tahu:
kaedah item dict
tuple
Berkumpul bersama
Maksud parameter dict
Tanyakan soalan, adakah terdapat sesuatu yang salah dengan kod tersebut Jika nilai dalam kunci yang sama ialah rentetan, adakah item tersebut akan melaporkan ralat?