Уведомления

Группа в Telegram: @pythonsu

#1 Июль 4, 2015 00:27:53

Vady
Зарегистрирован: 2015-05-30
Сообщения: 70
Репутация: +  0  -
Профиль   Отправить e-mail  

Двумерный массив в python

Вопрос такой: как создать двумерный массив, если изначально не знаю сколько элементов в каждом измерении массива?
Пример: есть группа Group, есть студенты Students.

arr={}
Group = 1
arr[Group] = {}
Students = 1
arr[Group][Students] = u'Иванов'
Group = 1
arr[Group] = {}
Students = 2
arr[Group][Students] = u'Петров'
Group = 1
arr[Group] = {}
Students = 3
arr[Group][Students] = u'Сидоров'
for stud in arr[1]:
    print(arr[1][stud])
На выходе вместо всех перечисленных фамилий получаю только последнего студента “Сидоров”.

Офлайн

#2 Июль 4, 2015 00:39:56

Shaman
Зарегистрирован: 2013-03-15
Сообщения: 1369
Репутация: +  88  -
Профиль   Отправить e-mail  

Двумерный массив в python

arr={}
Group = 1
arr[Group] = {}
Students = 1
arr[Group][Students] = u'Иванов'
Group = 1
#arr[Group] = {}
Students = 2
arr[Group][Students] = u'Петров'
Group = 1
#arr[Group] = {}
Students = 3
arr[Group][Students] = u'Сидоров'
for stud in arr[1]:
    print(arr[1][stud])
или
arr={}
Group = 1
arr[Group] = {}
Students = 1
arr[Group][Students] = u'Иванов'
Group = 2
arr[Group] = {}
Students = 2
arr[Group][Students] = u'Петров'
Group = 3
arr[Group] = {}
Students = 3
arr[Group][Students] = u'Сидоров'
for stud in arr[1]:
    print(arr[1][stud])

Отредактировано Shaman (Июль 4, 2015 00:42:45)

Офлайн

#3 Июль 4, 2015 10:34:02

FishHook
От:
Зарегистрирован: 2011-01-08
Сообщения: 8312
Репутация: +  568  -
Профиль   Отправить e-mail  

Двумерный массив в python

Не очень понятно, чего вы хотите сделать, но обычно для подобных конструкций используют defaultdict

#!/usr/bin/env python
# -* coding: utf-8 -*-
from collections import defaultdict
d = defaultdict(list)
d["Students"].append(u"Иванов")
d["Students"].append(u"Петров")
d["Groups"].append(u"НТ-981")
d["Groups"].append(u"НТ-982")
print d



Офлайн

#4 Июль 7, 2015 18:31:31

Vady
Зарегистрирован: 2015-05-30
Сообщения: 70
Репутация: +  0  -
Профиль   Отправить e-mail  

Двумерный массив в python


Спасибо большое всем за ответы!

Офлайн

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version