将现有列表分配给空白列表python

时间:2014-06-27 18:07:38

标签: python python-3.x

所以基本上我试图检查名为list9000的列表中的一串字符串是否包含" @"标志。我想要的是在列表有6个元素后清空列表,但在清除它之前执行for循环检查任何" @"的元素。迹象。我尝试过使用del和其他清空技术,但它似乎并没有起作用。到目前为止,这是我的工作:

if( len(list9000) == 6):
        # print(list9000)
        i = list9000.count("@")
        if(i>1):
            amount9000 = amount9000 - i + 1
            numWrong = numWrong - i + 1
        list9000[:] = []
list9000.append(line)

这只是我代码的一小部分。大约有300行其他代码。我正在读一个文本文件,在其中我将文件中的文本行添加到我的列表中。如果我能解决这个问题,我基本上就完成了我的项目!

编辑:我尝试过使用del list9000 [:],但它没有用。

**更新:**我已经打印出列表的长度,它在大多数情况下似乎不是6,而是每次增加6。

1 个答案:

答案 0 :(得分:0)

您可以将list9000重新分配给新的空列表对象。但要小心,如果要分配可变对象,Python会创建引用。一个简单的list9000[:] = []应该可以清除你的清单。

if( len(list9000) == 6):
    # print(list9000)
    i = 0
    for item in list9000:
        if("@" in item):
            i += i + 1
    if(i>1):
        amount9000 = amount9000 - i + 1
        numWrong = numWrong - i + 1
    list9000[:] = []