Форум сайта python.su
0
Всем добрый день!
Есть словарь такого вида:
dict = [{'nane':'Nelya', 'dist': 1, 'dast':'da'}, {'name':'Tanya', 'dist':2, 'dast':'da'}, {'name':'Tina', 'dist':1, 'dast':'net'}] .....Офлайн
6
>>> d = [{'nane':'Nelya', 'dist': 1, 'dast':'da'}, {'name':'Tanya', 'dist':2, 'dast':'da'}, {'name':'Tina', 'dist':1, 'dast':'net'}]
>>> [v["dist"] for v in d]
[1, 2, 1]
>>>Офлайн
0
Супер то что нужно.Вот
[0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 3L, 1L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 0L, 0L, 0L, 0L, 0L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 1L, 3L, 3L, 3L, 2L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 1L, 1L, 3L, 3L, 3L, 3L, 3L, 3L, 1L, 3L, 3L, 3L, 1L, 3L, 3L, 3L, 1L, 1L, 1L, 1L, 3L, 3L, 3L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L]
Офлайн
0
Сделал это так:
infos = [{'nane':'Nelya', 'dist': 1, 'dast':'da'}, {'name':'Tanya', 'dist':2, 'dast':'da'}, {'name':'Tina', 'dist':1, 'dast':'net'}]
distincts = [info['district'] for info in infos]
distincts_sort = []
for i in distincts:
if not i in distincts_sort:
distincts_sort.append(i)[0L, 3L, 1L, 2L]
Отредактировано (Март 30, 2011 12:57:58)
Офлайн
6
>>> set([v["dist"] for v in d])
set([1, 2])
>>>
Офлайн
0
Да берет только уникальные значения
districts = set([info['district'] for info in infos])
set([0L, 1L, 2L, 3L])
Офлайн
3
Panter7777
а как что б только список, без “set(…)”?
>>> list(set([0L, 1L, 2L, 3L]))
[0L, 1L, 2L, 3L]
Офлайн
0
Супер то что нужно!!!! Огромное спасибо!
Офлайн
0
Вот еще способ:
a = [info for info in infos]
print list(dict(zip(a,a)))
Офлайн
0
Опять возник вопрос со словарями!
Есть словарь:
test = [{'inf':1, 'numb':'11'},{'inf':1, 'numb':'99a'},{'inf':2, 'numb':'22'},{'inf':3, 'numb':'33'},{'inf':3, 'numb':'33`2a'},]
cu = {}{1: ('11', '99a'), 2: '22', 3: ('33', '33`2a')}for i in test:
cu[i['inf']] = (i['numb'])
{1: '99a', 2: '22', 3: '33`2a'}Отредактировано (Март 31, 2011 15:28:50)
Офлайн