2016-03-21 18 views
1

Bir sözlükteki anahtarlar listesinde yinelenirken, değerler olarak bir tuple eklemeye çalışıyorum. Eminim liste anlaşmasıyla bunu yapmanın bir yolu var, ama anahtarlarda çalışmak için bunu alamadım. senin myDict bir set değil, bir dict olduğunuAnahtar sözcük olarak tuple ekleme

myDict = {"Last name", "First name"} 
myTuple = ("Miller", "Joe") 
for key in myDict: 
    myDict.update(zip({key:n for n in myTuple})) 
+1

mi aslında nasıl 'myDict' görünüyor sevmek? Çünkü bu bir sözlük değil. Bu bir set. – idjaw

+0

İstisna çıktınız nedir? Şunu mu demek istediniz: {'İlk isim': 'Miller', 'Soyadı': 'Joe'} # dict (zip (myDict, myTuple)) '? Veya '[{' Adı ':' Miller '}, {' Soyadı ':' Joe '}] # [dict ([i]) için zip (myDict, myTuple)] 'da? –

+0

Değerleri olmayan sözlük ... nerede mahvoldum? lol –

cevap

1

İlk: Basitlik uğruna, burada kavramdır. Kıvırcık parantezleri ({}) herhangi bir değer olmadan kullanmak, set ile sonuçlanır. set s ile ilgili sorun, sipariş edilmiyor. (Bu amaçla, ya list s) tuples hem değiştirirseniz basitçe yapabilirsiniz: Aşağıdaki dicti yazdırır

myKeys = ("Last name", "First name") 
myValues = ("Miller", "Joe") 
print(dict(zip(myKeys, myValues))) 

:

{'Last name': 'Miller', 'First name': 'Joe'} 
+0

"Setlerde sorun değil, sipariş edilmiyor" - "Dict" ın da sipariş edilmediğini unutmayın. –

+0

Vay, teşekkürler ... lol ... özlediğim şey bu. En kısa sürede bana izin verir gibi işaretlerim. –

+0

@KevinGuan Burada sadece 'dict' sonucu önemli değil sonuç. – Selcuk