Уведомления

Группа в Telegram: @pythonsu

#1 Апрель 10, 2012 18:17:30

ValeriyB
Зарегистрирован: 2012-04-10
Сообщения: 26
Репутация: +  1  -
Профиль   Отправить e-mail  

Dictionary: сравнение имени ключа со строкой

Привет.

Допустим есть словарь и переменая:

dic_xxx = {'test' : 1, 'gogo' : 2, 'other' : 3}
peremennaya =  "gogo"

Как мне сравнить строку переменной с именем ключа
dic_xxx['gogo']
на совпадение? Индекс не известен, нужно именно по имени ключа.



Офлайн

#2 Апрель 10, 2012 18:24:14

fata1ex
От:
Зарегистрирован: 2009-07-11
Сообщения: 732
Репутация: +  52  -
Профиль   Отправить e-mail  

Dictionary: сравнение имени ключа со строкой

>>> d = {'1':10, '2':20, '3':30}
>>> d.keys()
['1', '3', '2']
>>> d.values()
[10, 30, 20]
>>> d.has_key('1')
True
>>> d.has_key('4')
False
>>> d.items()
[('1', 10), ('3', 30), ('2', 20)]

Плюс есть iterkeys/itervalues с говорящими именами. Если я неправильно вас понял, и ответ вам не помог, опишите ситуацию более подробно.

PS. Закралось подозрение, что вы путаете понятия “индекс”, “ключ” и “значение”.



Отредактировано fata1ex (Апрель 10, 2012 18:31:07)

Офлайн

#3 Апрель 10, 2012 18:30:13

ValeriyB
Зарегистрирован: 2012-04-10
Сообщения: 26
Репутация: +  1  -
Профиль   Отправить e-mail  

Dictionary: сравнение имени ключа со строкой

Не совсем то.
Можно как-нибудь имя конкретного ключа поместить в переменную?

Офлайн

#4 Апрель 10, 2012 18:33:19

fata1ex
От:
Зарегистрирован: 2009-07-11
Сообщения: 732
Репутация: +  52  -
Профиль   Отправить e-mail  

Dictionary: сравнение имени ключа со строкой

ValeriyB
Можно как-нибудь имя конкретного ключа поместить в переменную?

То есть вы знаете “имя конкретного ключа” и хотите поместить это имя в переменную? Тогда
 variable = key_name
Но, видимо, это не то, что вы хотите.



Офлайн

#5 Апрель 10, 2012 18:40:18

ValeriyB
Зарегистрирован: 2012-04-10
Сообщения: 26
Репутация: +  1  -
Профиль   Отправить e-mail  

Dictionary: сравнение имени ключа со строкой

Нужно что-то на подобие:

>>> d = {'test' : 1, 'gogo' : 2, 'other' : 3}
>>> variable = d['gogo']
>> variable
gogo
>>>

Офлайн

#6 Апрель 10, 2012 18:46:54

fata1ex
От:
Зарегистрирован: 2009-07-11
Сообщения: 732
Репутация: +  52  -
Профиль   Отправить e-mail  

Dictionary: сравнение имени ключа со строкой

>>> d = {'test' : 1, 'gogo' : 2, 'other' : 3}
>>> variable = 'gogo'
>>> variable
'gogo'

Сдаётся мне, это опять не то. Не могу никак вас понять.
Попробуем по-другому. Зачем вам это нужно, какую задачу вы решаете?



Офлайн

#7 Апрель 10, 2012 18:51:19

ValeriyB
Зарегистрирован: 2012-04-10
Сообщения: 26
Репутация: +  1  -
Профиль   Отправить e-mail  

Dictionary: сравнение имени ключа со строкой

Да все просто как 1, 2, 3. Неправильно построил алгоритм и поэтому такой вопрос странный был.
Сейчас все сделал иначе. Вопрос снят. Спасибо за содействие.

Офлайн

#8 Апрель 10, 2012 18:54:26

fata1ex
От:
Зарегистрирован: 2009-07-11
Сообщения: 732
Репутация: +  52  -
Профиль   Отправить e-mail  

Dictionary: сравнение имени ключа со строкой

Именно поэтому в первом же своем сообщении я написал:

Если я неправильно вас понял, и ответ вам не помог, опишите ситуацию более подробно.
Удачи.



Отредактировано fata1ex (Апрель 10, 2012 18:54:51)

Офлайн

#9 Апрель 11, 2012 01:58:49

py.user.next
От:
Зарегистрирован: 2010-04-29
Сообщения: 10010
Репутация: +  857  -
Профиль   Отправить e-mail  

Dictionary: сравнение имени ключа со строкой

>>> d = {'test' : 1, 'gogo' : 2, 'other' : 3}
>>> v = 'gogo'
>>> v in d
True
>>> d[v]
2
>>>



Офлайн

Board footer

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

Powered by DjangoBB

Lo-Fi Version