2016-04-09 14 views
-2

Şu anda bir sözlük oluşturuyorum ve bir anahtarla ilişkili değerleri tamsayılardan tamsayılara dönüştürmeyi deniyorum. Bu yüzden bundan gitmeye çalışıyorum: BunaTamsayılar için tamsayı değerlerini değiştirme

{'Georgia': ['18', '13', '8', '14']} 

:

{'Georgia': [18, 13, 8, 14]} 

bunu hakkında gitmek nasıl bir fikir?

+3

tüm bunlar seni aramak için çalıştı mı? http://stackoverflow.com/q/379906/2615940 http://stackoverflow.com/q/4291236/2615940 – skrrgwasme

cevap

1

Bunu yapabilirsin:

map

bu durumda sözlükleri anahtarının değerini iterable değerleri alıp bir int için iterable her öğeyi döküm edilir. map, list yerine bir harita nesnesi döndürür, böylece onu tekrar bir listeye dönüştürürüz.

a_dict = {'Georgia': ['18', '13', '8', '14']} 
a_dict['Georgia'] = list(map(int, a_dict['Georgia'])) 

Veya, birden çok değer bu şekilde dönüştürmek için gerekirse bir döngü kullanabilirsiniz:

+0

Raymond'un cevabı gibi, kodun nasıl çalıştığına dair bazı açıklamalar veya açıklamalar eklemelisiniz. – skrrgwasme

+0

Fuar noktası. Düzenlenen. – Pythonista

2
>>> old = {'Georgia': ['18', '13', '8', '14']} 
>>> new = {key: list(map(int, value)) for key, value in old.items()} 
>>> new 
{'Georgia': [18, 13, 8, 14]} 
+0

Bunun neden ve nasıl çalıştığına dair bir açıklama eklemek iyi olur. – skrrgwasme

İlgili konular