Python min()显然不接受整数列表 def最小最大值(实际值、最小值、最大值): 打印“实际”,实际,类型(实际) 打印“最小值”,最小值,类型(最小值) 打印“最大值”,最大值,类型(最大值) 如果实际: 如果最小值(实际值)最大值: 最大值=最大值(实际值1) 返回最小值,最大值
我想知道,为什么这段代码会产生以下错误? (我在Mac上使用Python 2.6.1)Python min()显然不接受整数列表 def最小最大值(实际值、最小值、最大值): 打印“实际”,实际,类型(实际) 打印“最小值”,最小值,类型(最小值) 打印“最大值”,最大值,类型(最大值) 如果实际: 如果最小值(实际值)最大值: 最大值=最大值(实际值1) 返回最小值,最大值,python,list,min,Python,List,Min,我想知道,为什么这段代码会产生以下错误? (我在Mac上使用Python 2.6.1) 实际值[572,2,1] 最小0 最大0 回溯(最近一次呼叫最后一次): 文件“/bin/helixCSV.py”,第706行,在 main() 文件“/bin/helixCSV.py”,第695行,主 创建最终结果(最终结果路径、序列列表、hl\U fq\U列表、hl\U no\U列表、链距离列表、螺旋长度列表、链接器占用列表、元列表、螺旋定义) 文件“/bin/helixCSV.py”,第335行,在“创
实际值[572,2,1]
最小0
最大0
回溯(最近一次呼叫最后一次):
文件“/bin/helixCSV.py”,第706行,在
main()
文件“/bin/helixCSV.py”,第695行,主
创建最终结果(最终结果路径、序列列表、hl\U fq\U列表、hl\U no\U列表、链距离列表、螺旋长度列表、链接器占用列表、元列表、螺旋定义)
文件“/bin/helixCSV.py”,第335行,在“创建最终结果”中
结果记录[def_key]['5prime']['dist_min'],结果记录[def_key]['5prime']['dist_max']=minmax(串记录列表[seq_no][def_key]['us'],结果记录[def_key]['5prime']['dist_min'],结果记录[def_key]['5prime']dist max']
文件“/bin/helixCSV.py”,第299行,最小值
如果最小值(实际值)
干杯
Simon您正在使用类型为
int
的min
参数重写min()
函数,这就是原因。将其重命名为其他名称
actual [572, 2, 1] <type 'list'>
min 0 <type 'int'>
max 0 <type 'int'>
Traceback (most recent call last):
File "./bin/helixCSV.py", line 706, in <module>
main()
File "./bin/helixCSV.py", line 695, in main
create_final_results(final_result_path, seq_list, hl_fq_list, hl_no_list, strand_dist_list, helix_length_list, linker_occup_list, meta_list, HELIXDEF)
File "./bin/helixCSV.py", line 335, in create_final_results
result_dict[def_key]['5prime']['dist_min'], result_dict[def_key]['5prime']['dist_max'] = minmax(strand_dist_list[seq_no][def_key]['us'], result_dict[def_key]['5prime']['dist_min'], result_dict[def_key]['5prime']['dist_max'])
File "./bin/helixCSV.py", line 299, in minmax
if min(actual) < min:
TypeError: 'int' object is not callable
def最小最大值(实际值、最小值、最大值):
打印“实际”,实际,类型(实际)
打印“最小值”,最小值,类型(最小值)
打印“最大值”,最大值,类型(最大值)
如果实际:
如果最小值(实际值)类型错误:“int”对象不可调用
最大值=最大值(实际值1)
返回最小值,最大值
符号min
不能同时表示两件事(全局内置函数和局部变量)。+∞ 谢谢你发现了这个常见的错误。干杯,伙计,这就是我解决问题所需要的。多么愚蠢的错误这就是haskell存在的原因
actual [572, 2, 1] <type 'list'>
min 0 <type 'int'>
max 0 <type 'int'>
Traceback (most recent call last):
File "./bin/helixCSV.py", line 706, in <module>
main()
File "./bin/helixCSV.py", line 695, in main
create_final_results(final_result_path, seq_list, hl_fq_list, hl_no_list, strand_dist_list, helix_length_list, linker_occup_list, meta_list, HELIXDEF)
File "./bin/helixCSV.py", line 335, in create_final_results
result_dict[def_key]['5prime']['dist_min'], result_dict[def_key]['5prime']['dist_max'] = minmax(strand_dist_list[seq_no][def_key]['us'], result_dict[def_key]['5prime']['dist_min'], result_dict[def_key]['5prime']['dist_max'])
File "./bin/helixCSV.py", line 299, in minmax
if min(actual) < min:
TypeError: 'int' object is not callable
def minmax (actual, min, max):
print 'actual', actual, type(actual)
print 'min', min, type(min)
print 'max', max, type(max)
if actual:
if min(actual) < min: #<- min(actual): python tries calling min(),
min = min(actual1) # min is int,
if max(actual) > max: # -> TypeError: 'int' object is not callable
max = max(actual1)
return min, max