Найти - Пользователи
Полная версия: словарь
Начало » Python для новичков » словарь
1 2 3 4 5
stil
помогите решить задачу.я создал словарь и нужно провести поиск по ключу,но у меня не получается.
# -*- coding: utf-8 -*-
#! /usr/bin/env python3

slovar = {1:“прочное”, 2:“хрупкое”, 3:“горит”}
slovo = raw_input(“введите пожалуйса 1 или 2 или 3”)
if slovo in slovar.has_key(slovo) # здесь надо проверить есть ли слово по ключу,но выдает ошибку
print “yes”
else:
print “нет такого слова”
ivadim
raw_input возвращат строку, а у тебя ключи числа. Нужно привести к int(slovo)

P.s has_key лишнее, и это не похоже на синтаксис python3 указанного у вас в заголовки
slovo = int(slovo)
if slovo in slovar:
print(“yes”)
else:
print(“no”)
stil
спасибо работает,а как сделать чтоб выдавалось значение ключа?я немного переделал код.

# -*- coding: utf-8 -*-
#! /usr/bin/env python3

slovo = True
while slovo:
slovar = {“металл”:“прочное”,“стекло”:“хрупкое”,“дерево”:“горит”}
slovo = raw_input(“введите пожалуйса слово”)
if slovo in slovar:
print (slovar.values(slovo)) # вот тут ошибка
else:
print (“нет такого слова”)
Isem

ну или
for slovo, kakoe in slovar.items():
bla-bla-bla
ta
stil
stil
# -*- coding: utf-8 -*-
#! /usr/bin/env python3
путь до питона надо указывать в 1й строке.
кодировку файла во 2-й.

у вас код на питон2 или на питон3?
stil
slovo = raw_input(“введите пожалуйса слово”)
stil
print (“нет такого слова”)
stil
а как сделать чтоб выдавалось значение ключа?
>>> d1 = {1:"one", 2:"two"}
>>> if d1.has_key(1):
... print "Key: 1, Val: %s" % (d1[1])
... else:
... print "n"
...
Key: 1, Val: one
stil
я учу по книжке для второго питона,поэтому не знаю нюансы для 3 питона.
а какой поиск по ключу будет происходить быстрее?(если много слов):
1.if d1.has_key(1):
или
2.if slovo in slovar:
————————–
а это дает не тот результат
for slovo, kakoe in slovar.items():
Isem
if slovo in slovar настолько быстра, насколько это возможно в общем случае.
stil
глупый вопрос,но я не знаю,а если будет большое количество (слов-значений),вот эту сточку
slovar = {“металл”:“прочное”,“стекло”:“хрупкое”,“дерево”:“горит”}
не будешь же в нее все вписывать,как то ведь по другому организуется?
Antik
Если будет много слов, тогда используй iteritems()
for slovo, kakoe in slovar.iteritems():
bla-bla-bla
sp3
slovar = {"металл":"прочное","стекло":"хрупкое","дерево":"горит"}
slovar['a'] = 'bbbb'
slovar['b'] = 'cccc'
import pprint
pprint.pprint(slovar)
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB