'da listelerin listesiyle sözlük oluşturma Çok büyük bir dosyam var (yaklaşık 200k girişli). girişler şeklinde şunlardır:Python
A B C D
B E F
C A B D
D
ben bu dosyayı okuma ve aşağıdaki gibi bir liste halinde saklayarak ediyorum:
text = f.read().split('\n')
Bu yeni bir satır gördüğünde dosyayı böler.
[[A B C D] [B E F] [C A B D] [D]]
Ben anahtar değerleri her listeden birinci unsur olduğu artık bir sözlükte bu değerleri saklamak zorunda: aşağıdaki gibi Dolayısıyla metindir. yani anahtarlar A, B, C, D olacaktır. Değerlerin listenin kalan öğeleri olarak girilmesini zor buluyorum. Aşağıdaki yapmış
{A: [B C D]; B: [E F]; C: [A B D]; D: []}
: gibi yani Sözlük görünmelidir
inlinkDict = {}
for doc in text:
adoc= doc.split(' ')
docid = adoc[0]
inlinkDict[docid] = inlinkDict.get(docid,0) + {I do not understand what to put in here}
benim sözlüğe değerleri eklemelisiniz olarak nasıl yardım edin. Listede, anahtar değer olacak olan herhangi bir öğe yoksa 0 olmalıdır. Örnekte 0.
olmak sözlüğü istiyor musunuz '{A: [B, C, D]; B: [E, F]; C: [A, B, D]; D: []} '? Ya da belki "{A:" B C D "; B: "E F"; C: "A B D"; D: 0} '? – huon
Lütfen yinelenen anahtarlar hakkında ne yapmak istediğinizi söylemek için sorunuzu düzenleyin; foer örneği, "A P Q R" içeren 5. satırınız varsa ne olur? B C D ... değerlerini bir liste olarak nasıl saklamak istiyorsunuz? ['B', 'C', 'D'] '?Boş bir listenin durumunu '0' gibi bir tam sayı değil, boş bir liste olarak göstermek daha iyi olacaktır. –
@JohnMachin: Yinelenen değer yok. Ve evet değerleri bir liste olarak saklamak kesinlikle yardımcı olacaktır. Sorumu düzenleyeceğim. – Nerd