在python中创建新的List对象

时间:2009-09-24 08:42:51

标签: python list

我是python的初学者。我想在python中创建新的List对象。

我的代码:

recordList=[]

mappedDictionay={}

sectionGroupName= None

for record in recordCols:
    item = record
    print item

    if not sectionGroupName == record[0]:
        sectionGroupName = record[0]
        del recordList[0:] # Here I want to create new list object for recordList
        recordList.append(item)
        mappedDictionay[sectionGroupName] = recordList
    else:
        recordList.append(tempItem)

6 个答案:

答案 0 :(得分:16)

理解你的问题并不容易,特别是因为你的代码丢失了它的格式,但你可以很容易地创建新的列表对象。以下内容将新的列表对象分配给变量recordList:

recordList = list()

您也可以使用

recordList = []
在这种情况下,

[]和list()是等效的。

答案 1 :(得分:4)

Python是garbage-collected。只是做

recordList = []

你将有一个新的空列表。

答案 2 :(得分:4)

请勿使用del。期。这是一个“高级”的事情。

from collections import defaultdict

mappedDictionay= defaultdict( list ) # mappedDictionary is a poor name
sectionGroupName= None

for record in recordCols:
    mappedDictionay[record[0]].append( record )

答案 3 :(得分:1)

您可以使用list()或简单[]来创建新列表。 但是,我认为您尝试实现的目标只需使用grouby

即可解决
from itertools import groupby
mappedIterator = groupby(recordCols, lambda x: x[0])

from itertools import groupby
from operator import itemgetter
mappedIterator = groupby(recordCols, itemgetter(0))

如果您愿意。

groupBy函数将返回迭代器而不是字典,其中每个项的格式为(category, sub-iterator-over-items-in-that-category)

如果您真的想将其转换为字典,就像您在代码中使用它一样,那么您可以在之后运行以下内容:

mappedDictionary = dict(( (x[0], list(x[1])) for x in mappedIterator ))

答案 4 :(得分:0)

您想要创建新列表吗? 这很简单:例如,你想要列出一天的日期,写下以下内容:

new_list=['mon','tue','wed','thurs','fri',sat','sun']

此处列表的名称为new_list,其中包含不同工作日的名称。

注意:永远不要忘记使用[]括号来创建列表,使用()将创建一个元组,一个非常不同的对象,{}将创建一个字典对象,它将引发错误。

答案 5 :(得分:0)

创建新列表很容易!
如果您希望它为空,那么就可以这样定义它:

NameOfList = []

或:

NameOfList = list()