我有2个列表,listA和listB的总长度值都是35。然而,当我合并2个列表时,其中一个元素消失了,长度变小了,变成了33。有没有办法在不丢失任何元素的情况下将2列表变成一个字典?我尝试了zip和普通的for循环,但我仍然丢失了一些东西。
listA = ['Produkttyp', 'Integrerade komponenter', 'Spårningsdata', 'Bärstil', 'Urtavla', 'Satta mål', 'Funktioner', 'EAN', 'MPN', 'Typ', 'Upplösning', 'Mått (BxH)', 'Trådlöst gränssnitt', 'Typ', 'Batteritid', 'Information om boetten', 'Namn', 'Storlek', 'Fits Wrist with Circumference', 'Låstyp', 'Material', 'Färg', 'Bredd', 'Djup', 'Längd', 'Vikt', 'Förinstallerad programvara', 'Vibrerande alarm', 'Material', 'Skydd', 'Inkluderade tillbehör', 'Emballagets bredd', 'Emballagets djup', 'Emballagets höjd', 'Emballagets vikt']
listB = ['Aktivitetspårare', 'Hjärtfrekvenssensor', 'Distans, tid, brända kalorier, aktivitet, sovaktivitet, hjärtfrekvens, steg tagna, Antal våningar upp, stressnivå, styrka', 'Handled', 'Ja', 'Ja', 'Meddelande om missade samtal, musikfjärrhantering, SMS-meddelande, E-postmeddelande, kamerafjärrkontroll, Bluetooth Smart-teknologi, automatisk övningsigenkänning, notiser via sociala media, Move IQ, accelerometer, miljöljussensor, barometer, hjärtfrekvens, VO2 max', '753759205157', '010-01995-03', 'OLED - monokrom', '128 x 48 pixlar', '6.6 mm x 17.7 mm', 'Bluetooth 4.0, ANT+', 'Pekskärm', '7 dag(ar)', 'Midnattssvart', 'Band', 'L', '148-215 mm', 'Spänne', 'Silikon', 'Svart', '15 mm', '10.5 mm', '223 mm', '21.5 g', 'VO2 Max, Fitness Age, Move IQ', 'Ja', 'Aluminium', 'Vattentät', 'Laddnings-/datakabel', '14.1 cm', '6.9 cm', '6.2 cm', '116.2 g']dict(zip(listA,listB))
the result will be: 33 only
'Produkttyp':'Aktivitetspårare'
'Integrerade komponenter':'Hjärtfrekvenssensor'
'Spårningsdata':'Distans, tid, brända kalorier, aktivitet, sovaktivitet, hjärtfrekvens, steg tagna, Antal våningar upp, stressnivå, styrka'
'Bärstil':'Handled'
'Urtavla':'Ja'
'Satta mål':'Ja'
'Funktioner':'Meddelande om missade samtal, musikfjärrhantering, SMS-meddelande, E-postmeddelande, kamerafjärrkontroll, Bluetooth Smart-teknologi, automatisk övningsigenkänning, notiser via sociala media, Move IQ, accelerometer, miljöljussensor, barometer, hjärtfrekvens, VO2 max'
'EAN':'753759205157'
'MPN':'010-01995-03'
'Typ':'Pekskärm'
'Upplösning':'128 x 48 pixlar'
'Mått (BxH)':'6.6 mm x 17.7 mm'
'Trådlöst gränssnitt':'Bluetooth 4.0, ANT+'
'Batteritid':'7 dag(ar)'
'Information om boetten':'Midnattssvart'
'Namn':'Band'
'Storlek':'L'
'Fits Wrist with Circumference':'148-215 mm'
'Låstyp':'Spänne'
'Material':'Aluminium'
'Färg':'Svart'
'Bredd':'15 mm'
'Djup':'10.5 mm'
'Längd':'223 mm'
'Vikt':'21.5 g'
'Förinstallerad programvara':'VO2 Max, Fitness Age, Move IQ'
'Vibrerande alarm':'Ja'
'Skydd':'Vattentät'
'Inkluderade tillbehör':'Laddnings-/datakabel'
'Emballagets bredd':'14.1 cm'
'Emballagets djup':'6.9 cm'
'Emballagets höjd':'6.2 cm'
'Emballagets vikt':'116.2 g'
len():33发布于 2021-03-17 15:16:04
listA包含两个重复项('Material‘和'Typ')。字典不能有重复的键,这就解释了为什么你在字典中看到的词条较少。
如果您有重复的键,最好的方法是使字典的值成为一个列表,而不是像下面这样创建的单个项:
然后,字典有33个键,但有35个值,因为'Typ‘和'Material’的条目在列表中包含2个条目。
d = dict()
for key, val in zip(listA, listB):
if key in d:
d[key].append(val)
else:
d[key] = [val]如果我们看一下'Typ‘的条目,我们会看到:
d['Typ']
['OLED - monokrom', 'Pekskärm']https://stackoverflow.com/questions/66668325
复制相似问题