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

python中往二维列表中第一列写入字符串 python用二维列表储存信息_开发语言


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

使用列表序列,选择以步长为10,从30开始,到90结束,得到结果如下。

python中往二维列表中第一列写入字符串 python用二维列表储存信息_开发语言_02


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

python中往二维列表中第一列写入字符串 python用二维列表储存信息_元组_03


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

python中往二维列表中第一列写入字符串 python用二维列表储存信息_python_04


二维列表存储表示为:

a=[
["高小一",18,30000,"北京"],
["高小二",19,20000,"上海"],
["高小五",20,10000,"深圳"]
]

内存示意图:

python中往二维列表中第一列写入字符串 python用二维列表储存信息_后端_05


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

共同点:都是作为序列的一种,可以用来存储一系列的数据。

不同点:列表属于可变序列,可以任意修改列表中的元素,元组属于不可变数列,不能修改元组中的元素。

6、创建一个字典对象,包含:

支出金额:300.15,支出日期:2018.10.18,支出人:高小七

a={‘支出金额’:‘300.15’,‘支出日期’:‘2018.10.18’,‘支出人’:‘高小七’}

7、使用字典存储行数据,最后将整个表用列表存储。

python中往二维列表中第一列写入字符串 python用二维列表储存信息_元组_06


答:

a=[
 a1={‘name’:‘小一’,‘age’:‘18’,‘salary’:‘30000’,‘city’:‘北京’},
 a2={‘name’:‘小二’,‘age’:‘19’,‘salary’:‘20000’,‘city’:‘上海’},
 a3={‘name’:‘小五’,‘age’:‘20’,‘salary’:‘10000’,‘city’:‘深圳’}
 ]

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

答:条件:键值对满足可散列

(1)计算键对象的散列值,使用二进制表示。

(2)数组长度假设为8,从散列值右侧3为二进制数,索引该数的十进制表示的bucket是否为空,若为空则存储到该bucket。

(3)若bucket不为空则继续依次再取散列值的3为,直至对应bucket为空。

(4)若完成全部位置索引未找到空位,则扩容。

9、集合和字典有什么关系?
答:集合是无序可变,元素不能重复,集合底层是字典实现,集合中所有元素都是字典中的“键对象”。