#1、解压序列赋值给多个变量
#2、解压可迭代对象赋值给多个变量
#3、如何保留最后N个元素,我们使用了collection库中得deque函数
from collections import deque
deque(maxlen=N)构建函数会新建一个固定大小得队列。
当新的元素加入并且这个队列已满的时候,最老的元素就会背自动移除掉
q=deque(maxlen=3)
q.append(1)
q.append(2)
q.append(3)
q
deque([1, 2, 3], maxlen=3)q.append(4)
q
deque([2, 3, 4], maxlen=3)
#4、查找最大和最小的N个元素
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]
#5、如何对字典中得key映射多个value
from collections import defaultdict
a = defaultdict(list)
#定义a字典的value为一个列表,当然也可以是一个int(长整型数据)
#sorted
test = {1: “a”, 3: “d”, 6: “g”, 2: “c”, 5: “e”, 0: “f”, 4: ‘b’}
for key in sorted(test):
print key
from collections import OrderedDict
test = {1: “a”, 3: “d”, 6: “g”, 2: “c”, 5: “e”, 0: “f”, 4: ‘b’}
print(OrderedDict(sorted(test.items(), key=lambda obj: obj[0])))
print(OrderedDict(sorted(test.items(), key=lambda obj: obj[1])))
#7、字典的运算
主要是使用zip()函数,通常需要使用 zip() 函数先将键和值反转过来
prices = {‘ACME’: 45.23,‘AAPL’: 612.78,‘IBM’: 205.55,‘HPQ’: 37.20,‘FB’: 10.75}
min_price = min(zip(prices.values(), prices.keys()))
max_price = max(zip(prices.values(), prices.keys()))
prices_sorted = sorted(zip(prices.values(), prices.keys()))
#8、怎样在两个字典中寻寻找相同点 (比如相同的键、相同的值等等)
a = {‘x’ : 1,‘y’ : 2,‘z’ : 3}
b = {‘w’ : 10,‘x’ : 11,‘y’ : 2}
查找相同的key
a.keys() & b.keys()
查找a有,但b没有的key
a.keys() - b.keys()
查找a、b中共有的key和value
a.items() & b.items()