访问Dict元素时出现For循环错误:“Dict”对象不是callab

2024-06-01 04:22:29 发布

您现在位置:Python中文网/ 问答频道 /正文

我已经看了'dict' object is not callable所以答案,但不太明白我在搞什么。在

我有一个字典数组,然后我想浏览每一个字典并访问元素。在

prebuilt_jars = [
{'name':'xwalk-app-jar', 'binary_jar':'xwalk_core_library/libs/xwalk_core_library_java_app_part.jar'},
]

for prebuilt_jar in prebuilt_jars:
  prebuilt_jar(
    name = prebuilt_jar['name'],
    binary_jar = prebuilt_jar['binary_jar'],
  )
  jar_deps.append(':' + prebuilt_jar['name'])

但是我得到了'dict' object is not callable

name = prebuilt_jar['name'], 以及

binary_jar = prebuilt_jar['binary_jar'],

你知道我的语法怎么了吗?在

更新

所以我要做的就是把我所有的规则浓缩成这样:

^{pr2}$

prebuilt_jar是一个Buck函数,它构建一个预构建的jar文件。在

我希望有一个包含所有jar对象的字典,然后使用这些dictionary对象来填充prebuilt_jar调用。在

回答

我给循环变量命名与函数名相同。在

for pJar in prebuilt_jars:
  prebuilt_jar(
    name = pJar['name'],
    binary_jar = pJar['binary_jar'],
  )
  jar_deps.append(':' + pJar['name'])

Tags: namecoreapp字典objectisnotdict
2条回答

你得到这个错误是因为你试图call一个字典。prebuilt_jars是一个字典,那么您可以:

prebuilt_jar(
    name = prebuilt_jar['name'],
    binary_jar = prebuilt_jar['binary_jar'],
  )

好像prebuilt_jar是一个函数。试着做:

^{pr2}$

或者别的什么,如果你不只是想打印项目。在

这实际上是循环变量的函数调用语法:

prebuilt_jar(
    name = prebuilt_jar['name'],
    binary_jar = prebuilt_jar['binary_jar'],
  )

你想用那个代码做什么?在

我想这:

^{pr2}$

就是你的意思。在

相关问题 更多 >