Python 奇怪的错误,包括;属性错误:';非类型';对象没有属性';追加'&引用;
因此,我试图通过将文本文件转换为列表并在空格处拆分列表中的每个项目来解析文本文件 我已经创建了一个测试变量来单独运行这部分代码。 spyder编辑器中的我的代码:Python 奇怪的错误,包括;属性错误:';非类型';对象没有属性';追加'&引用;,python,attributeerror,Python,Attributeerror,因此,我试图通过将文本文件转换为列表并在空格处拆分列表中的每个项目来解析文本文件 我已经创建了一个测试变量来单独运行这部分代码。 spyder编辑器中的我的代码: test = ['NC_009142.1_03_012_002_001 560', 'NC_017586.1_13_009_003_001 555', 'NC_016111.1_13_010_003_001 555'] ListOfLinesParsed = test PN_List = [] counter_iterative =
test = ['NC_009142.1_03_012_002_001 560', 'NC_017586.1_13_009_003_001 555', 'NC_016111.1_13_010_003_001 555']
ListOfLinesParsed = test
PN_List = []
counter_iterative = 0
while counter_iterative < len(ListOfLinesParsed):
PN_List = PN_List.append(ListOfLinesParsed[counter_iterative].split()[0])
counter_iterative += 1
print PN_List
testL.append(测试[1].split()[0])
testL
testL.append(测试[2].split()[0])
testL
这两件事不应该完全一样吗?我不明白为什么我的脚本中的命令与终端命令的行为有任何不同。行
PN_List = PN_List.append(ListOfLinesParsed[counter_iterative].split()[0])
这就是问题所在
list.append
是一个就地操作,它返回None
,但会更改原始列表本身。如果将PN_List
分配给结果,则结果将变为None
。如果您不这样做,那么您的程序将顺利运行。这就是为什么当你尝试在没有作业的情况下追加内容时,你会得到预期的答案。行
PN_List = PN_List.append(ListOfLinesParsed[counter_iterative].split()[0])
这就是问题所在
list.append
是一个就地操作,它返回None
,但会更改原始列表本身。如果将PN_List
分配给结果,则结果将变为None
。如果您不这样做,那么您的程序将顺利运行。这就是为什么当您尝试在没有作业的情况下添加内容时,您会得到预期的答案。谢谢。你引用我脸上的那句话的那一刻,我掌心看着,但有时这句话太明显了@用户1933192如果你觉得这个答案很有用,你可以谢谢你。你引用我脸上的那句话的那一刻,我掌心看着,但有时这句话太明显了@user1933192如果你觉得这个答案有帮助,你可以
['NC_009142.1_03_012_002_001', 'NC_017586.1_13_009_003_001']
['NC_009142.1_03_012_002_001', 'NC_017586.1_13_009_003_001', 'NC_016111.1_13_010_003_001']
PN_List = PN_List.append(ListOfLinesParsed[counter_iterative].split()[0])