标签:add
python 的 *表达式。需要从某个可迭代对象中分解出N个元素,但是这个课迭代对象的长度可能超过N,这会导致“分解的值过多(too many values to unpack)”的异常。
例如:
record = {‘Dave‘,‘dave@example.com‘,‘773-555-1212‘,‘847-555-1212‘}
name,email,*phone_numbers = user_record
>>>phone_numbers
[‘773-555-1212‘,‘847-555-1212‘]
有时候可能想分解出某些值然后丢弃他们。在分解的时候,不能只是指定一个单独的*,但是可以使用几个常用来表示待丢弃值的变量名,比如:_ 或者 ign(ignored)
例如:
record = (‘ACME‘,50,123.45,(12,18,2012))
name,*_,(*_,year) = record
>>>year
2012
找到最大的或者最小的N个元素
heapq模块中有两个函数 --- nlargest() 和 nsmallest()
import heapq
nums ={1,8,2,23,7,-4,18,23,42,37,2}
print (heapq.nlargest(3,nums)) [42,37,23] # 得到最大的三个数字
print (heapq.nsmallest(3,nums)) [-4,1,2] #得到嘴笑的三个数字
本文出自 “11565952” 博客,谢绝转载!
标签:add
原文地址:http://11575952.blog.51cto.com/11565952/1881706