Как напечатать только 1 элемент из словаря

Короткий ответ: вы не можете - он контролируется браузером.

Длинный ответ: вы можете переопределить его, используя некоторые хаки CSS .

1
задан godfreeey 18 January 2019 в 14:12
поделиться

5 ответов

contacts.items() возвращает пары ключ-значение. В вашем случае это будет что-то вроде

(("John", 938477566), ("Jack", 938377264), ("Jill", 947662781))

За исключением того, что в Python 3 это похоже на генератор, а не список. Поэтому вам нужно будет сделать list(contacts.items()), если вы хотите проиндексировать его, что объясняет ваше сообщение об ошибке. Однако, даже если вы сделали list(contacts.items())[0], как обсуждалось выше, вы получите первую пару ключ-значение.

Что вы пытаетесь сделать, это получить значение ключа, если указанный ключ существует, и contacts.get(key, value_if_key_doesnt_exist) сделает это за вас.

contact = 'John'
# we use 0 for the default value because it's falsy,
# but you'd have to ensure that 0 wouldn't naturally occur in your values
# or any other falsy value, for that matter.
details = contacts.get(contact, 0)
if details:
    print('Contact details: {} {}'.format(contact, details))
else:
    print('Contact not found')
0
ответ дан Reti43 18 January 2019 в 14:12
поделиться

Прежде всего, его словарь, а не список, вы можете получить доступ к элементам из списка путем индексации, а в словаре это невозможно, вы можете получить доступ к элементам с помощью клавиши

contacts = {
    "John" : 938477566,
    "Jack" : 938377264,
    "Jill" : 947662781
}

for k,v in contacts.items():
    print(k,v)

или контактов [ «Джон»] вы можете получить доступ к значению

0
ответ дан venkatesh 18 January 2019 в 14:12
поделиться

Вы можете сделать это так. Если вы уверены, что в словаре присутствует слово «Джон», в выражении if нет необходимости. По-другому, вы можете написать это .. ваш выбор

contacts = {
    "John" : 938477566,
    "Jack" : 938377264,
    "Jill" : 947662781
}
print("Contact details: %s %i" % ("John", contacts["John"]))
0
ответ дан Zoran Bajcer 18 January 2019 в 14:12
поделиться

Словари не поддерживают индексирование, поэтому для печати «Джон» вы не можете индексировать его, однако следующий код может содержать слово:

if "John" in contacts:
   print("Contact details:","John",contacts["John"])

Надеюсь, это поможет

0
ответ дан Talha Israr 18 January 2019 в 14:12
поделиться

Нет необходимости проверять состояние if, просто используйте get, чтобы получить соответствующее значение и вернуть -1, если ключ отсутствует

contacts = {
    "John" : 938477566,
    "Jack" : 938377264,
    "Jill" : 947662781
}

contacts.get('John',-1) # -1 will be returned if key is not found

Форматирование печати

name_to_search='John'
print("Contact details: %s %i" % (name_to_search, contacts.get(name_to_search,-1)))
[ 118] или

name_to_search='John'
print("Contact details: {} {}" .format(name_to_search, contacts.get(name_to_search,-1)))
0
ответ дан mad_ 18 January 2019 в 14:12
поделиться
Другие вопросы по тегам:

Похожие вопросы: