牛骨文教育服务平台(让学习变的简单)
博文笔记

一行代码写python

创建时间:2015-11-03 投稿人: 浏览次数:1464


1、一行代码更新python数组中对象属性满足某一值的元素

arr = [{"a": 3,"c":4}, {"d":5,"a": 4}, {"a": 1,"b":2}]
[x.update(x,a=9) for x in arr if x.get("a") == 4]
print arr
输出:

[{"a": 3, "c": 4}, {"a": 9, "d": 5}, {"a": 1, "b": 2}]

2、求10000以内的质数

from math import sqrt    
N = 10000
[ p for p in   range(2, N) if 0 not in [ p% d for d in range(2, int(sqrt(p))+1)] ]

输出(以N=100为例):

[2, 3, 5, 7, 11, 13, 17, 19, 23, 29, 31, 37, 41, 43, 47, 53, 59, 61, 67, 71, 73, 79, 83, 89, 97]

3、元素为对象的数组排序

arr = [{"a": 3,"c":4}, {"d":5,"a": 4}, {"a": 1,"b":2}]
arr2=sorted(arr,key=lambda e:e.get("a"),reverse=False)

输出:

[{"a": 1, "b": 2}, {"a": 3, "c": 4}, {"a": 4, "d": 5}]





声明:该文观点仅代表作者本人,牛骨文系教育信息发布平台,牛骨文仅提供信息存储空间服务。