【问题标题】:Passing variable value as function argument [duplicate]将变量值作为函数参数传递[重复]
【发布时间】:2018-08-30 22:26:19
【问题描述】:

如何获取 list code 元素的值?

def test(argu):
print(argu)

code = [5,10,15]
length =len(code)
for i in range(0,length):
   test("code[%d]" %i)

预期输出:

5 
10 
15

实际输出:

code[0]
code[1]
code[2]

【问题讨论】:

  • 我很惊讶你知道这么多 python 却不知道你可以做test(code[i])
  • 哎呀!这么傻的问题!

标签: python python-3.x


【解决方案1】:

test("code[%d]" %i) 更改为test(code[i]) 可以解决您的问题:

def test(argu):
    print(argu)

code = [5,10,15]
length = len(code)
for i in range(length):
    test(code[i])

【讨论】:

    【解决方案2】:

    % 只是将参数替换为字符串,字符串不会被重新解释为表达式。

    只使用普通的列表索引,不加引号:

    for i in range(0, length):
        test(code[i])
    

    也不需要使用range,直接遍历列表即可:

    for elt in code:
        test(elt)
    

    【讨论】:

      猜你喜欢
      • 2013-08-13
      • 1970-01-01
      • 1970-01-01
      • 2014-08-08
      • 1970-01-01
      • 1970-01-01
      • 2021-04-16
      • 2019-07-23
      • 2011-04-07
      相关资源
      最近更新 更多