Portál AbcLinuxu, 7. listopadu 2025 22:38
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 seznam
S 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.