belirli anahtar-değer çiftlerini içeren bir Python sözlük oluştur Ben şuna benzer bazı kodlar vardır:başka sözlükte
d = {'foo': True, 'bar': 42, 'baz': '!'}
a = {'foo': d['foo'], 'bar': d['bar']}
b = {'foo': d['foo'], 'baz': d['baz']}
c = {'bar': d['bar'], 'baz': d['baz']}
Şüphesiz bu ifade etmek daha iyi bir yol var. Bu amaçla bir fonksiyon yazabiliriz
# I'd hoped that something like this would work...
a = d.copy('foo', 'bar')
b = d.copy('foo', 'baz')
c = d.copy('bar', 'baz')
:
copydict = lambda dct, *keys: {key: dct[key] for key in keys}
a = copydict(d, 'foo', 'bar')
b = copydict(d, 'foo', 'baz')
c = copydict(d, 'bar', 'baz')
orada daha iyi mi aslında bir Sözlüğün copy
yöntem yeni sözlüğe dahil edilecek anahtarları kabul umuduyla dokümanlar okumak Yukarıdakilerden daha mı?
Neden a, b, c için bir liste (veya set) kullanmıyorsunuz? Soğuktu, ihtiyacın olduğunda d'deki değere bak. – maxy
Aslında 'a',' b' ve 'c' Django'nun' urlencode' işlevine geçiyorum ('urllib.urlencode' gibi bir sözlük kabul eder). – davidchambers
@BlaXpirit: Sadece "Hayır" içeren bir cevap yazmalısınız. (bir HTML yorumu ile minimum boyuta geçin) böylece hepimiz çılgınca oy verebiliriz. –