【发布时间】: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],假设index是int。 -
@jonrsharpe 所以使用括号。我用了括号
{index}。总之谢谢! -
@blorgon 谢谢!
-
您的代码似乎期望
return语句将评估一个字符串,就好像它是一个Python 表达式并返回结果。它不会。现在,有一种方法可以在 Python 中实现,但它几乎不是一个好主意,而且需要的频率远低于初学者的想象。这会做你想做的事:return list[int(index)]但会通过几个代码质量测试。 1.list不是一个好的变量名。 2.func()无缘无故地依赖全局变量:将函数需要的所有数据作为参数传递给它,如 `def func(index,mylist):.