Portál AbcLinuxu, 10. května 2025 19:14
seznam = [ 1: 'a':'1aaa', 'b':'1bbb', 'c':'1ccc' 2: 'a':'2aaa', 'b':'2bbb', 'c':'2ccc' 3: 'a':'3aaa', 'b':'3bbb', 'c':'3ccc' ]
print(seznam[1]['a']) # 1aaa print(seznam[2]['a']) # 2aaa print(seznam[3]['c']) # 3cccNepomůže prosím pěkně někdo ?
Řešení dotazu:
Nechceš spíš dictionary?Je mi to jedno, hlavně aby tam šlo přidávat další záznamy pro to společné id
#!/usr/bin/env python seznam = dict() for i in range(1,4): seznam[i] = dict() for c in range(3): z=chr(ord('a')+c) seznam[i][z] = str(i)+z*3 print seznamS vystupem:
{1: {'a': '1aaa', 'c': '1ccc', 'b': '1bbb'}, 2: {'a': '2aaa', 'c': '2ccc', 'b': '2bbb'}, 3: {'a': '3aaa', 'c': '3ccc', 'b': '3bbb'}}
{1: {'a': '1aaa', 'c': '1ccc', 'b': '1bbb'}, 2: {'a': '2aaa', 'c': '2ccc', 'b': '2bbb'}, 3: {'a': '3aaa', 'c': '3ccc', 'b': '3bbb'}}tak potřebuji ještě později přidat třeba pro id 1 'd' : '1ddd' a výsledek bude
{1: {'a': '1aaa', 'c': '1ccc', 'b': '1bbb', 'd' : '1ddd'}, 2: {'a': '2aaa', 'c': '2ccc', 'b': '2bbb'}, 3: {'a': '3aaa', 'c': '3ccc', 'b': '3bbb'}}
seznam = dict() def pridej(i,z): if i not in seznam: seznam[i] = dict() seznam[i][z] = str(i)+z*3
pridej('1', 'a') pridej('1', 'b') pridej('1', 'c')získám výsledek
{'1': {'b': '1bbb', 'c': '1ccc', 'a': '1aaa'}}ale proč to nejde vypsat ?
print(seznam[1]['a']) # dostanu chybu 'KeyError: 1'
Tiskni
Sdílej:
ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.