转换python字典中的2个列表

转换python字典中的2个列表,python,list,sqlite,dictionary,Python,List,Sqlite,Dictionary,我通过sqlite3获得了一长串信息。我创建了两个列表,第一个由第一个元素组成(Vercelli,Vercelli ecc)。第二个列表由秒元素组成(viale dell'Aeronautica、piazza Cesare Battisti)。我想创建一个字典,将第一个列表的元素作为键连接起来,将第二个列表的元素作为值连接起来。但我还想创建一个对值进行分组的字典​​在单个键下(请参见下面的代码示例)。当我尝试python时,它会向我显示只有最后一个值的键。如果有人试图帮助我,我会非常高兴 con

我通过sqlite3获得了一长串信息。我创建了两个列表,第一个由第一个元素组成(Vercelli,Vercelli ecc)。第二个列表由秒元素组成(viale dell'Aeronautica、piazza Cesare Battisti)。我想创建一个字典,将第一个列表的元素作为键连接起来,将第二个列表的元素作为值连接起来。但我还想创建一个对值进行分组的字典​​在单个键下(请参见下面的代码示例)。当我尝试python时,它会向我显示只有最后一个值的键。如果有人试图帮助我,我会非常高兴

conntta = sqlite3.connect("Database.db")
cursortta = conntt.cursor()
sqltta = cursortt.execute("select np,id from orari")




#Sqlite3

    ('Vercelli', "viale dell'Aeronautica")
    ('Vercelli', 'piazza Cesare Battisti')
    ('Vercelli', 'Autostazione corso Gastaldi')
    ('Caresanablot', 'SP230/via Aldo Moro')
    ('Quinto v.se', 'Regione Bivio')
    ('Oldenico', 'SS594 (peso pubblico)')
    ('Albano', 'piazza Roma (chiesa)')
    ('Greggio', 'piazza Roma (posta)')
    ('Arborio', 'corso Umberto I (chiesa)')
    ('Ghislarengo', 'piazza Umberto I (posta)')
    ('Lenta', 'via XXV Luglio (municipio)')
    ('Gattinara', 'corso Vercelli (ospedale)')
    ('Gattinara', 'piazza Mazzini (stazione)')
    ('Gattinara', 'via Volta (ist.Ragion.-Geom.)')
    ('Romagnano', 'SS142 Ponte Sesia')
    ('Romagnano', 'via XXV Luglio')
    ('Serravalle', 'Vintebbio (fr.chiesa)')
    ('Serravalle', 'Piane via dei Ceri/S.Giacomo')
    ('Serravalle', 'p.za I Maggio (scuole)')
    ('Serravalle', 'Bornate Corso Valsesia')
    ('Borgosesia', 'Agnona (ITIS)')
    ('Borgosesia', 'San Rocco c.so Vercelli')
    ('Borgosesia', "v.le Duca d'Aosta (IPSIA)")
    ('Borgoseisa', 'via Antongini')
    ('Borgosesia', 'v.le Varallo/p.le Milanaccio')
    ('Borgosesia', 'Centro sportivo Milanaccio')
    ('Quarona', 'piazza Combattenti')
    ('Quarona', 'Doccio (scuole)')
    ('Varallo', 'Roccapietra via Varalli (posta)')
    ('Varallo', 'piazza Marconi (stazione)')
    ('Varallo', 'piazza Marconi (stazione)')
    ('Varallo', 'Istituto Caimi')
    ('Varallo', 'Istituto Alberghiero')
    ('Varallo', 'piazza Marconi (stazione)')
    ('Varallo', 'Valmaggia bivio Cantone')
    ('Vocca', 'Chiesa (fr.municipio)')
    ('Balmuccia', 'bivio Rimasco')
    ('Balmuccia', 'via Roma (scuole)')
    ('Scopa', 'Salterana (fr. posta)')
    ('Scopello', 'piazzale (bivio per Mera)')
    ('Pila', 'SS299/via Centro')
    ('Piode', 'SS299 via Umberto I')
    ('Campertogno', 'SS299 piazzale (fr.posta)')
    ('Mollia', 'SS299 bivio Rusa')
    ('Riva Valdobbia', 'Piazza Mercato')
    ('Alagna', 'piazzale (lungo Sesia)')

list1 = []
list2 = []
for cd in sqltta:
    list1.append(cd[0])
    list2.append(cd[1])


#Here I can't go further
电流输出:

{'Vercelli' : 'Autostazione corso Gastaldi', 'Caresanablot', 'SP230/via Aldo Moro'ecc... } #Here the other values ​​of vercelli are missing
(我想要的)例子:

请注意,
您的第一个dict
将只包含给定键的最后一个条目-这是
dict
类型的本质,您不能有多个具有相同键的条目<代码>您的第二个命令将列表作为值


请注意,
您的第一个dict
将只包含给定键的最后一个条目-这是
dict
类型的本质,您不能有多个具有相同键的条目
你的第二个dict将列表作为值。

你只需将
id
值添加到
np
值索引的列表中即可构建字典:

result = {}
sqltta = cursortt.execute("select np,id from orari")
for np, id in sqltta:
    if np in result:
        result['np'].append(id)
    else:
        resul['np'] = [id]

只需将
id
值添加到由
np
值索引的列表中,即可构建词典:

result = {}
sqltta = cursortt.execute("select np,id from orari")
for np, id in sqltta:
    if np in result:
        result['np'].append(id)
    else:
        resul['np'] = [id]

词典在哪里。我要打印什么来检查呢?这是一个非常好的方法。defaultdict(,{}),也就是当我尝试打印(你的第二个dict)变量时,
your的第一个dict
你的第二个dict
就是字典。您可以将元组列表提供给
dict
构造函数,它会生成一个dict,其中元组的第一个值是键,第二个值是值。第二个例子是@Blotosmetek在for循环中填充字典。我不明白,字典在哪里?我必须努力。你能给我发个代码示例吗?字典在哪里。我要打印什么来检查呢?这是一个非常好的方法。defaultdict(,{}),也就是当我尝试打印(你的第二个dict)变量时,
your的第一个dict
你的第二个dict
就是字典。您可以将元组列表提供给
dict
构造函数,它会生成一个dict,其中元组的第一个值是键,第二个值是值。第二个例子是@Blotosmetek在for循环中填充字典。我不明白,字典在哪里?我必须努力。你能给我发个代码示例吗?字典在哪里?我不明白?
结果是字典。你的代码部分正确。因为我需要一个包含所有键/值的字典。如果有多个相同的键对它们进行分组。字典在哪里?我不明白?
结果是字典。你的代码部分正确。因为我需要一个包含所有键/值的字典。如果有多个相同的键对它们进行分组。
result = {}
sqltta = cursortt.execute("select np,id from orari")
for np, id in sqltta:
    if np in result:
        result['np'].append(id)
    else:
        resul['np'] = [id]