Как использовать квадратные скобки после вызова функции в Python

#python #list #function #dictionary #brackets

#python #Список #функция #словарь #скобки

Вопрос:

Я хочу использовать квадратные скобки после вызова функции. Это что-то вроде этого

function()[‘Name’]

Я хочу, чтобы результат был «Энди». Каким должен быть синтаксис функции def? Я всегда получаю сообщение об ошибке, в котором говорится, что оно не подписывается. Это мой текущий код

 def function1():
    A={'Name':'Andy'}
    return 

function1()['Name']
  

Комментарии:

1. Функция должна возвращать что-то подписываемое, например, dict .

2. Ваш usecase неясен. Чего вы пытаетесь достичь с его помощью? Возможно, упомянуть в качестве примера ввода и вывода.

Ответ №1:

Для того, чтобы это сработало function , нужно было бы вернуть dict

 def function():
    return {'Name': 'Andy', 'Age': 20}

>>> function()['Name']
'Andy'
  

В вашем примере вы должны изменить свою функцию следующим образом

 def function1():
    A = {'Name': 'Andy'}
    return A
  

Комментарии:

1. Чтобы на выходе было написано `Andy», оно должно быть «` print(function()[‘Name’]) « Можем ли мы вызывать ‘Andy; без print ?

2. @pangu70 вам просто нужно запустить python в интерактивном режиме. — Тогда, если вы просто укажете переменную, она будет автоматически напечатана.

Ответ №2:

Я не совсем понимаю ваш вопрос. Но если вы хотите использовать квадратные скобки и найти свое значение по строке, вам следует использовать словари. Итак, функция и печать должны выглядеть следующим образом `

 def function():
    return {'Name':'andy'}
print(function()['Name'])
  

EDIT: You can do something like this, and that will print the answer, but i dont think its really practicall, because, yo are not storing the name anywhere

 def function():
    return {'Name':print('Andy')}

function()['Name']
  

Комментарии:

1. Спасибо, это работает, но можем ли мы вызвать Andy без print ?