我有一个dicts排序列表,我想将列表中的前三个dicts添加到一个新列表中。
我第一次尝试使用list comp但是在执行时:
new_dict = [pair for pair[0:3] in sortd]
我收到错误“对未定义”,我在这里做错了什么?
答案 0 :(得分:0)
您只需要pair[:3]
来获取list
中的前三个元素。在这种情况下不需要列表理解。
列表理解是迭代列表(或dict / tuple)并执行某些操作的替代且更简洁的方法。例如,假设您在代码中有一个循环,该循环使用列表中元素的平方创建新列表:
square_list = []
original_list = [1, ,2 ,3 ,4]
for item in original_list:
square_list.append(item*item)
等效列表理解实现将如下:
square_list = [item*item for item in original_list]
有一个很棒的博客Python List Comprehensions: Explained Visually解释了列表理解的概念。您可能会发现它很有用。