第三章 作业

第三章 作业,第1张

第三章 作业

1. 画出代码a = [100,200,300]的内存存储示意图。

2.使用range 生成序列:30,40,50,60,70,80

a = list(range(30,90,10))
print(a)

3. 推导式生成列表: a = [x*2 for x in range(100) if x%9==0],手写出结果。

a=[0,18,36,54,72,90, 108, 126,144,162,180,198]

4. 使用二维列表存储表格信息,并画出简单的内存存储示意图:

5. 元组和列表有哪些共同点?有哪些不同点?

1)元组和列表的共同点:都是序列,都可进行切片,迭代
2)元组和列表的不同点:元组是不可变序列。元组的访问和处理速度比列表快。元组可以作为字典的键,列表则永远不能作为字典的键使用。
6. 创建一个字典对象,包含如下信息:
支出金额:300.15,支出日期:2018.10.18,支出人:高小七

a={"支出金额.:"300.15","支出日期":"2018.10.18","支出人":"高小七"}
7. 使用字典存储行数据,最后将整个表使用列表存储起来。

r1 = {"name":"高小一","age":18,"salary":30000,"city":"北京"}
r2 = {"name":"高小二","age":19,"salary":20000,"city":"上海"}
r3 = {"name":"高小五","age":20,"salary":10000,"city":"深圳"}
tb = [r1,r2,r3]

8. 用文字和自己画的示意图描述:字典存储一个键值对的底层过程。

a={}
a["name"]="huang
print(bin(hash("name")))
>>
-0b101011100101111010111001110100011011001001001001011100001
>>>

1)当将"name"=“huang"这个键值对放到字典对象a中,首先第一步要计算键"name"的散列表.Python可以使用hash()来计算。
2)由于数组长度为8,我们可以拿计算出的散列值,最右边3位数作为偏移量,即"001”,十进制是数字1,我们查看偏移量1,对应的bucket是否为空,如果为空,则将键值放进去,如果不为空,依次取右边3位作为偏移量’100’,十进制是数字4,再查看偏移量4的bucket是否为空.直到栈为空的bucket将键值放进去


9. 集合和字典有什么关系?

 实际上,集合底层是字典实现,集合的所有元素都是字典中的"键对象",因此是不能重复的且唯一的。

 

 

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/5721229.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-12-18
下一篇 2022-12-18

发表评论

登录后才能评论

评论列表(0条)

保存