在循环中分配变量(Python)

时间:2018-01-19 07:26:40

标签: python arrays loops

所以我有这个数据帧Ttrain,其中性别列有两个男性和女性的独特值。我需要做的是运行一个循环,其中将提取列中的唯一值并将其分配给唯一变量。所以对于性别栏,a [1] =男性和[2] =女性应该是输出。我正在尝试以下代码:

u=Ttrain.Sex.unique()
a=[]
for i in range(len(u)):
    a.append(i)=u[i]
    print (a(i))

但我收到以下错误:

SyntaxError: can't assign to function call

请原谅我缺乏知识,因为我刚刚开始编程2周。任何帮助/建议将受到高度赞赏。谢谢。

1 个答案:

答案 0 :(得分:1)

当您致电a.append(i)时,参数i会附加到列表中。因此,当您在之后分配u[i]时,您试图将其分配给函数调用的结果,但这不是您可以为其赋值的内容。所以当你追加:它是括号内的参数,它被添加到列表a中。

u=Ttrain.Sex.unique()
a=[]
for i in range(len(u)):
    a.append(i)=u[i]
    print (a(i))

此外,当您打印a(i)时,索引列表的语法为a[i],因为call ()运算符将尝试调用列表,因为列表只是一个容器在这种情况下没有任何意义。