相关疑难解决方法(0)

在一个声明中对列表理解进行排序

我注意到今天早上写剧本时我没想到的东西.我尝试使用列表理解并在一个语句中对其进行排序,并得到了令人惊讶的结果.以下代码总结了我的一般用例,但针对此问题进行了简化:

Transaction = namedtuple('Transaction', ['code', 'type'])

my_list = [Transaction('code1', 'AAAAA'), Transaction('code2', 'BBBBB'), Transaction('code3', 'AAAAA')]

types = ['AAAAA', 'CCCCC']

result = [trans for trans in my_list if trans.type in types].sort(key = lambda x: x.code)

print result
Run Code Online (Sandbox Code Playgroud)

输出:

None
Run Code Online (Sandbox Code Playgroud)

如果我使用理解创建列表,然后在事实之后对其进行排序,一切都很好.我很好奇为什么会这样?

python list-comprehension

20
推荐指数
2
解决办法
2万
查看次数

标签 统计

list-comprehension ×1

python ×1