【问题标题】:Python list object is not callable for a list of integers [duplicate]Python列表对象不可调用整数列表[重复]
【发布时间】:2017-03-27 07:17:55
【问题描述】:

我总是得到错误:'List' object not callable...我在 Google 中环顾四周并尝试了每个给定的解决方案,但它仍然是一样的。 我无法让我的代码工作。我有一个整数列表,我需要将每个元素赋予不同的变量。

dmy = input('What is your date? Please put in like this: 2.11.2016')
dmy.strip(".")
dmy = [int(x) for x in dmy.split('.')]
list(dmy)
print(dmy)

dd = dmy(0)
mm = dmy(1)
yy = dmy(2)

代码的第一部分正在运行。尝试将列表元素提供给另一个变量时出现错误,因此此 dmy(0) 不起作用。但在我所有的书中都是这样吗?

我使用 python 3.5.2

【问题讨论】:

  • 你知道something(1)something[1]之间的区别吗?
  • a) 你的list(dmy) 没有做任何事情,因为它总是创建一个新对象,并且你没有在任何地方分配那个新对象——所以 Python 总是会丢弃它。 b) 你想做dmy[0], dmy[1],...,而不是dmy(0), dmy(1)...。第一个是函数调用,后者是您实际执行列表查找的方式。 dmy 不是一个函数,所以你不应该期望 dmy(0) 工作。请查找 Python 教程。
  • 您是否考虑过熟悉Python documentationPython tutorial

标签: python python-3.x


【解决方案1】:

我明白你在做什么。列表中的一个元素通过list[index]格式获取。当您尝试调用 list(index) 时,python 将其解释为函数调用并因此引发错误:

TypeError: 'list' 对象不可调用

更正的代码:

dmy = input('What is your date? Please put in like this: 2.11.2016')
dmy.strip(".")
dmy = [int(x) for x in dmy.split('.')]
list(dmy)
print(dmy)

dd = dmy[0]
mm = dmy[1]
yy = dmy[2]

【讨论】:

  • 哦该死的......这是一个简单的错误......
【解决方案2】:
>>> dd = dmy[0]
>>> mm = dmy[1]
>>> yy = dmy[2]
>>> dd
2
>>> mm
11
>>> yy
2016
>>>

【讨论】:

    猜你喜欢
    • 2012-05-07
    • 1970-01-01
    • 2016-09-02
    • 1970-01-01
    • 1970-01-01
    • 2017-10-04
    • 2016-05-26
    • 2012-12-06
    • 2021-03-09
    相关资源
    最近更新 更多