【问题标题】:Arguments in Functions函数中的参数
【发布时间】:2021-07-18 13:20:23
【问题描述】:

这是代码:

list = [1,2,3]

def func(index):
  return 'list[' + index + ']'
func('0')

当我调用函数时,它返回一个字符串:'list[0]',但我希望它返回索引[0] 中的列表值1。 谁能帮我这个?提前谢谢!

【问题讨论】:

  • list[int(index)]?如果你想要一个值,为什么要构建一个字符串?
  • 不要使用list 作为变量名,它会覆盖list 类型的构造函数,并可能导致难以调试的错误和其他问题。除了所需的索引之外,我还建议让您的函数将 list 对象作为参数。然后简单地返回input_list[index],假设indexint
  • @jonrsharpe 所以使用括号。我用了括号{index}。总之谢谢!
  • @blorgon 谢谢!
  • 您的代码似乎期望return 语句将评估一个字符串,就好像它是一个Python 表达式并返回结果。它不会。现在,有一种方法可以在 Python 中实现,但它几乎不是一个好主意,而且需要的频率远低于初学者的想象。这会做你想做的事:return list[int(index)] 但会通过几个代码质量测试。 1.list不是一个好的变量名。 2. func() 无缘无故地依赖全局变量:将函数需要的所有数据作为参数传递给它,如 `def func(index,mylist):.

标签: python function arguments


【解决方案1】:

只需使用:

list1 = [1,2,3]

def func(index,list1):
    return list1[int(index)]
res=func('0',list1 )
print(res)
# 1

【讨论】:

    猜你喜欢
    • 2022-06-26
    • 1970-01-01
    • 2021-01-28
    • 2017-02-11
    • 2019-11-15
    • 1970-01-01
    • 2019-03-29
    相关资源
    最近更新 更多