我是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)
答案 0 :(得分:16)
理解你的问题并不容易,特别是因为你的代码丢失了它的格式,但你可以很容易地创建新的列表对象。以下内容将新的列表对象分配给变量recordList:
recordList = list()
您也可以使用
recordList = []
在这种情况下,[]和list()是等效的。
答案 1 :(得分:4)
答案 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()