SORU
10 Mayıs 2013, Cuma


Yeniden Adlandır sözlük anahtar

Bir şekilde sözlük anahtar, dict anahtar/değer yineleme olmadan yeni bir isim ve eski adı anahtarını çıkartmak için; ve değerini Yeniden Atama olmadan yeniden adlandırmak var mı?

OrderedDict durumunda, bu anahtar konumu tutarken de aynı şeyi yap.

CEVAP
10 Mayıs 2013, Cuma


Düzenli bir dict için kullanabilirsiniz:

mydict[new_key] = mydict.pop(old_key)

Bir OrderedDict için, tamamen yeni bir anlayışı kullanarak oluşturmalısınız bence.

>>> OrderedDict(zip('123', 'abc'))
OrderedDict([('1', 'a'), ('2', 'b'), ('3', 'c')])
>>> oldkey, newkey = '2', 'potato'
>>> OrderedDict((newkey if k == oldkey else k, v) for k, v in _.viewitems())
OrderedDict([('1', 'a'), ('potato', 'b'), ('3', 'c')])

Anahtarın değiştirme bu soruyu soran gibi görünüyor, dict anahtarları genellikle, çünkü pratik değildirdeğişmezsayılar, dizeleri veya diziler gibi nesneler. Anahtar değiştirmeye çalışmak yerine, yeni bir anahtar değeri yeniden atama ve eski anahtarı çıkarma "Yeniden Adlandır" python. bu elde edebilirsiniz nasıl.

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • Break

    Break

    10 Aralık 2005
  • jkimisyellow...ish

    jkimisyellow

    8 Temmuz 2009
  • Matt Davis

    Matt Davis

    4 ŞUBAT 2006