python学习(一)-----数据结构和算法----序列和字典的基本用法

#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()

在这里插入图片描述

发布了28 篇原创文章 · 获赞 22 · 访问量 1万+

猜你喜欢

转载自blog.csdn.net/weixin_43949246/article/details/92656390
今日推荐