Форум сайта python.su
0
доброго времени суток
может быть я пытаюсь применить какие то вещи которые тут инародны но вот столкнулся с такой непоняткой
d={} #словарь
d[1]=[] #в словаре храниться список
d[1].append([2,3,4])3 in d[1]:
Офлайн
3
Правильно выбранные структуры данных - половина решения задачи
© Никлаус Вирт.
Делайте не
d[1].append([2,3,4])
d[1] += [2,3,4]
Офлайн
3
regallда блин, к своему стыду, я никогда так не делал, проходился по привычке как дурак циклом :(
d +=
Офлайн
857
>>> la = []
>>> la.extend((1, 2, 3))
>>> la
[1, 2, 3]
>>> la.extend((1, 2, 3))
>>> la
[1, 2, 3, 1, 2, 3]
>>>
zeb
как добравться вглубь?
3 in d[1][0]
Офлайн
0
народ ну это же не ответ на мой вопрос.
поясню у меня есть граф. он сохранен в виде словаря где ключ это вершина а в нем содержиться список каждый член которого класс. и мне надо добраться до поля класса.
т.е я понял что вы предложили но вопрос был все же иной. ну или я не так сформулировал.
Офлайн
0
zeb d?
Офлайн
13
Если потенциально там несколько списков, то проверять только один мало будет.
Наверное лучше так:
[1 for i in d[1] if 3 in i]
Офлайн
857
zebа может объект ?
а в нем содержиться список каждый член которого класс. и мне надо добраться до поля класса.
Отредактировано (Фев. 3, 2011 03:04:40)
Офлайн
0
хитро т.е не делать класс инкапсулирующий данные об обьекте а хранить это в трехмерном списке. в принципе тоже способ.
однако на вопрос поставленный в топике так ни кто и не ответил. вопрос был как добраться до переменной уже лежащей в некой структуре а не в том как изменить эту структуру что бы можно было добраться.
Офлайн
253
чтото я совсем не пойму почему вас не устраивает то что предлагают
class Tv:
def __init__(self):
self.a=1
d={} #словарь
d[1]=[] #в словаре храниться список
d[1].append(Tv())
print d[1][0].a
Офлайн