Уведомления

Группа в Telegram: @pythonsu

#1 Янв. 20, 2009 00:37:35

st00nsa
От:
Зарегистрирован: 2009-01-14
Сообщения: 36
Репутация: +  0  -
Профиль   Отправить e-mail  

Вопросы по словарям(ассоциативные массивы)

Много читал о питоне что якобы красив(мне кажется необязательно, зависит как пользовать) я вот умудряюсь писать уродско из за незнания языка(скорей всего). Хотелось бы красоты, мне очень нужны двумерные ассоциативные массивы, как я понял тут они называются словарями но примеры двумерными словарями не нашел в итоге пишу так:

red={y:1}
что в си было бы как то красивее
red=1
неужели только так можно присваивать значения?

Еще питон ругается когда я пытаюсь сделать так

red=1
мне что же создавать еще переменную x2=x-1?

и последнее, нет какихнибудь x++,x–? а то очень долго писать x=x+1



Отредактировано (Янв. 20, 2009 00:39:37)

Офлайн

#2 Янв. 20, 2009 01:16:37

shiza
От:
Зарегистрирован: 2007-07-03
Сообщения: 1073
Репутация: +  0  -
Профиль   Отправить e-mail  

Вопросы по словарям(ассоциативные массивы)

st00nsa
и последнее, нет какихнибудь x++,x–? а то очень долго писать x=x+1
x += 1
x -= 1



Офлайн

#3 Янв. 20, 2009 01:43:39

denz
От:
Зарегистрирован: 2007-01-09
Сообщения: 117
Репутация: +  0  -
Профиль   Отправить e-mail  

Вопросы по словарям(ассоциативные массивы)

st00nsa
мне что же создавать еще переменную x2=x-1?
извиняюсь за оффтоп, но мне непонятна красота фигурных скобок. Если тебе нужен итерируемый массив - то может разумнее сначала преобразовать словарь в массив (keys, values, items), а потом проходить этот массив?



Офлайн

#4 Янв. 20, 2009 07:30:20

PooH
От:
Зарегистрирован: 2006-12-05
Сообщения: 1948
Репутация: +  72  -
Профиль   Отправить e-mail  

Вопросы по словарям(ассоциативные массивы)

st00nsa
Хотелось бы красоты, мне очень нужны двумерные ассоциативные массивы
Зачем вам ассоциативные массивы если вы их индексируете целыми числами? Пользуйте списки



Вот здесь один из первых отарков съел лаборанта. Это был такой умный отарк, что понимал даже теорию относительности. Он разговаривал с лаборантом, а потом бросился на него и загрыз…

Офлайн

#5 Янв. 20, 2009 07:33:31

Dimka665
От:
Зарегистрирован: 2008-09-19
Сообщения: 177
Репутация: +  0  -
Профиль   Отправить e-mail  

Вопросы по словарям(ассоциативные массивы)

st00nsa
Много читал о питоне что якобы красив(мне кажется необязательно, зависит как пользовать) я вот умудряюсь писать уродско из за незнания языка(скорей всего). Хотелось бы красоты, мне очень нужны двумерные ассоциативные массивы, как я понял тут они называются словарями но примеры двумерными словарями не нашел в итоге пишу так:
red={y:1}
red = 1 ?

st00nsa
что в си было бы как то красивее
red=1
в Питоне тоже так можно написать

st00nsa
Еще питон ругается когда я пытаюсь сделать так
red=1
мне что же создавать еще переменную x2=x-1?
Нет, не нужно.



Офлайн

#6 Янв. 20, 2009 09:54:01

st00nsa
От:
Зарегистрирован: 2009-01-14
Сообщения: 36
Репутация: +  0  -
Профиль   Отправить e-mail  

Вопросы по словарям(ассоциативные массивы)

PooH
Зачем вам ассоциативные массивы если вы их индексируете целыми числами? Пользуйте списки
целые , но и отрицательные) списки тут не помогут.

shiza
x += 1
x -= 1
спасибо, не видел это в туторе

denz
преобразовать словарь в массив (keys, values, items)
Простите, если не трудно можно какойнибудь пример или ссылку?



Офлайн

#7 Янв. 21, 2009 05:51:05

Cleric
От:
Зарегистрирован: 2007-06-26
Сообщения: 87
Репутация: +  0  -
Профиль   Отправить e-mail  

Вопросы по словарям(ассоциативные массивы)

dict или в простонародье ассоциированный массив, тип данных созданный для использования совсем в других задачах, можно конечно его приспособить и для ваших нужд:

vector = {}
vector[0,0] = 1
vector[0,1] = 2

print vector[0,1]
Но делать так я не советую, можно воспользоваться списком списков (список для простоты это одномерный массив, т.е. 2 одномерных создадут один двухмерный):

vector = [[0,2], [1,3]]
vector[0][0] = -1
print vector
st00nsa
Еще питон ругается когда я пытаюсь сделать так

red=1
мне что же создавать еще переменную x2=x-1?
если все индексы правильны, питон не будет ругаться, запись допустима, покажите traceback

UPD: перечитал еще раз топикстартера, так и не понял что есть двухмерные ассоциированные массивы, так что предположил что всё таки нужны просто двухмерные массивы, так как в Си нет того что топикстартер называет двухмерными ассоциированными массивами.



Отредактировано (Янв. 21, 2009 05:59:18)

Офлайн

#8 Янв. 21, 2009 11:24:23

st00nsa
От:
Зарегистрирован: 2009-01-14
Сообщения: 36
Репутация: +  0  -
Профиль   Отправить e-mail  

Вопросы по словарям(ассоциативные массивы)

спасибо, за отклик)) да простите, не нужны мне ассоциативные массивы) всем спасибо я разобрался



Офлайн

Board footer

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

Powered by DjangoBB

Lo-Fi Version