Python:检索列表列表的长度
当尝试检索列表的长度时,我得到以下错误:“TypeError:'float'对象不可调用” 我的代码如下所示:Python:检索列表列表的长度,python,typeerror,Python,Typeerror,当尝试检索列表的长度时,我得到以下错误:“TypeError:'float'对象不可调用” 我的代码如下所示: list = [] for line in text: regex = re.search("(.*) (.*) (.*)") a = float(regex.group(1)) b = float(regex.group(2)) c = float(regex.group(3)) list.append([a, b, c]) newl
list = []
for line in text:
regex = re.search("(.*) (.*) (.*)")
a = float(regex.group(1))
b = float(regex.group(2))
c = float(regex.group(3))
list.append([a, b, c])
newlist = []
for entry in list:
if entry[0] < 10:
newlist.append(entry)
if len(newlist) >1:
do something
我刚得到打字错误。我本可以错过一些非常明显的事情,但我看不出我做错了什么,有人能帮忙吗
谢谢:)问题不在于列表,而在于
len
。您可能使用名称len
作为变量之一。这就是为什么你不能调用函数len
,它被隐藏了
len
、list
、str
,都是内置函数。应避免使用相同的名称命名变量。问题不在于列表,而在于len
。您可能使用名称len
作为变量之一。这就是为什么你不能调用函数len
,它被隐藏了
len
、list
、str
,都是内置函数。您应该避免使用相同的名称命名变量。该程序对我来说运行良好,请检查您的输入格式
完整程序:
#!/usr/bin/python
import re
mylist = []
for line in ("0.1 0.2 0.3", "20 0.3 0.1", "0.2 0.1 5"):
regex = re.search("(.*) (.*) (.*)", line)
a = float(regex.group(1))
b = float(regex.group(2))
c = float(regex.group(3))
mylist.append([a, b, c])
newlist = []
for entry in mylist:
if entry[0] < 10:
newlist.append(entry)
if len(newlist) > 1:
print newlist
if len(mylist) > 1:
print mylist
#/usr/bin/python
进口稀土
mylist=[]
对于第in行(“0.1 0.2 0.3”、“20 0.3 0.1”、“0.2 0.1 5”):
regex=re.search((.*)(.*)(.*),第行)
a=浮动(正则表达式组(1))
b=浮动(正则表达式组(2))
c=浮动(正则表达式组(3))
mylist.append([a,b,c])
新列表=[]
对于mylist中的条目:
如果条目[0]<10:
newlist.append(条目)
如果len(newlist)>1:
打印新列表
如果len(mylist)>1:
打印mylist
该程序对我来说运行良好,请检查您的输入格式
完整程序:
#!/usr/bin/python
import re
mylist = []
for line in ("0.1 0.2 0.3", "20 0.3 0.1", "0.2 0.1 5"):
regex = re.search("(.*) (.*) (.*)", line)
a = float(regex.group(1))
b = float(regex.group(2))
c = float(regex.group(3))
mylist.append([a, b, c])
newlist = []
for entry in mylist:
if entry[0] < 10:
newlist.append(entry)
if len(newlist) > 1:
print newlist
if len(mylist) > 1:
print mylist
#/usr/bin/python
进口稀土
mylist=[]
对于第in行(“0.1 0.2 0.3”、“20 0.3 0.1”、“0.2 0.1 5”):
regex=re.search((.*)(.*)(.*),第行)
a=浮动(正则表达式组(1))
b=浮动(正则表达式组(2))
c=浮动(正则表达式组(3))
mylist.append([a,b,c])
新列表=[]
对于mylist中的条目:
如果条目[0]<10:
newlist.append(条目)
如果len(newlist)>1:
打印新列表
如果len(mylist)>1:
打印mylist
不要使用列表
作为变量名-它将隐藏内置项。请保留提问者的代码。如果重复使用了list
,就好像其他名称(包括len
)被隐藏一样。不要将list
用作变量名称-它将隐藏内置名称。请保留提问者的代码原样。如果列表
被重复使用,就好像其他名字(包括len
)被隐藏了一样。你真是个天才,非常感谢你,我觉得自己像个白痴!:不客气!如果这对您有帮助,您可以:)在遇到“TypeError对象不可调用”时添加@user3097536,很可能您已经隐藏了内置的东西或带有局部变量名的导入。您真是个天才,非常感谢,我觉得自己像个白痴!:不客气!如果这对您有帮助,您可以:)在遇到“TypeError对象不可调用”时添加@user3097536,很可能您已经隐藏了内置的内容或带有局部变量名的导入。