函数

时间:2016-10-07 16:15:14

标签: python list function python-3.x casting

我需要['1', '2', '3']成为[1, 2, 3]

这是我的实际代码:

def chain_a_list_int(p_chain :str):
   tab_chain=[] # [str]
   tab_int=[] # [int] (list to return)

   tab_chain = p_chain.split(",")
   tab_chain = [int(i) for i in tab_chain]
   tab_int.append(tab_chain)
   return tab_int

并将其返回使用它:

chain_a_list_int(input("enter the number to conserve: "))

但是当我将其打印出函数时,它会给我这个错误:

<function chain_a_list_int at 0x000000000349FEA0>

当我尝试打印时,我使用它:

 print(chaine_a_liste_entier)

当我在功能中打印tab_int 时,它的效果非常好,但是当我不在它的时候就不行了......

print(tab_int)

结果...

[1, 2, 3]

2 个答案:

答案 0 :(得分:1)

这不是错误,而是表示Python认为您没有要求它致电chain_a_list_int。对代码的最小调整是:

the_list = chain_a_list_int(input("enter the number to conserve: "))
print(the_list)

print(chain_a_list_int(input("enter the number to conserve: ")))

对函数chain_a_list_int的名称的引用,在其后面没有(,实际上并不会导致函数的代码运行。这种区别将在以后对您有用 - 现在,确保在您键入函数名称时,在该名称后面加上带括号的表达式。 (如果@ForceBru发布了答案,你会看到一个反例:)。

答案 1 :(得分:0)

您需要调用该函数来打印其输出,即print(chaine_a_liste_entier('1,3,5,6'))