1.看代码写结果

  1. v1 = [1,2,3,4,5]
  2. v2 = [v1,v1,v1]
  3. v1.append(6)
  4. print(v1)
  5. print(v2)
  1. [1,2,3,4,5,6]
  2. [[1,2,3,4,5,6],[1,2,3,4,5,6],[1,2,3,4,5,6]]

2.看代码写结果

  1. v1 = [1,2,3,4,5]
  2. v2 = [v1,v1,v1]
  3. v2[1][0] = 111
  4. v2[2][0] = 222
  5. print(v1)
  6. print(v2)
  1. [222,2,3,4,5]
  2. [[222,2,3,4,5],[222,2,3,4,5],[222,2,3,4,5]]

3.看代码写结果,并解释每一步的流程。

  1. v1 = [1,2,3,4,5,6,7,8,9]
  2. v2 = {}
  3. for item in v1:
  4. if item < 6:
  5. continue
  6. if 'k1' in v2:
  7. v2['k1'].append(item)
  8. else:
  9. v2['k1'] = [item ]
  10. print(v2)
  1. {'k1':[6,7,8,9]}

4.简述赋值和深浅拷贝?

  1. 赋值是让变量都指向一块内存地址
  2. 浅拷贝:只会拷贝第一层. 第二层的内容不会拷贝. 所以被称为浅拷贝
  3. 深拷贝:本质是不可变数据类型共用一个,可变数据类型另开辟一块空间(复制一份) 不会产生一个改变另一个跟着改变的问题

5.看代码写结果

  1. import copy
  2. v1 = "alex"
  3. v2 = copy.copy(v1)
  4. v3 = copy.deepcopy(v1)
  5. print(v1 is v2)
  6. print(v1 is v3)
  1. True
  2. True

6.看代码写结果

  1. import copy
  2. v1 = [1,2,3,4,5]
  3. v2 = copy.copy(v1)
  4. v3 = copy.deepcopy(v1)
  5. print(v1 is v2)
  6. print(v1 is v3)
  1. False
  2. False

7.看代码写结果

  1. import copy
  2. v1 = [1,2,3,4,5]
  3. v2 = copy.copy(v1)
  4. v3 = copy.deepcopy(v1)
  5. print(v1[0] is v2[0])
  6. print(v1[0] is v3[0])
  7. print(v2[0] is v3[0])
  1. True
  2. True
  3. True

8.看代码写结果

  1. import copy
  2. v1 = [1,2,3,4,[11,22]]
  3. v2 = copy.copy(v1)
  4. v3 = copy.deepcopy(v1)
  5. print(v1[-1] is v2[-1])
  6. print(v1[-1] is v3[-1])
  7. print(v2[-1] is v3[-1])
  1. True
  2. False
  3. False

9.看代码写结果

  1. import copy
  2. v1 = [1,2,3,{"name":'太白',"numbers":[7,77,88]},4,5]
  3. v2 = copy.copy(v1)
  4. print(v1 is v2)
  5. print(v1[0] is v2[0])
  6. print(v1[3] is v2[3])
  7. print(v1[3]['name'] is v2[3]['name'])
  8. print(v1[3]['numbers'] is v2[3]['numbers'])
  9. print(v1[3]['numbers'][1] is v2[3]['numbers'][1])
  1. False
  2. True
  3. True
  4. True
  5. True
  6. True

10.看代码写结果

  1. import copy
  2. v1 = [1,2,3,{"name":'太白',"numbers":[7,77,88]},4,5]
  3. v2 = copy.deepcopy(v1)
  4. print(v1 is v2)
  5. print(v1[0] is v2[0])
  6. print(v1[3] is v2[3])
  7. print(v1[3]['name'] is v2[3]['name'])
  8. print(v1[3]['numbers'] is v2[3]['numbers'])
  9. print(v1[3]['numbers'][1] is v2[3]['numbers'][1])
  1. False
  2. True
  3. False
  4. True
  5. False
  6. True

11.请说出下面a,b,c三个变量的数据类型。
a = ('太白金星')
b = (1,)
c = ({'name': 'barry'})

  1. 字符串
  2. 元组
  3. 字典

12.按照需求为列表排序:

  1. l1 = [1, 3, 6, 7, 9, 8, 5, 4, 2]
  2. # 从大到小排序
  3. # 从小到大排序
  4. # 反转l1列表
  1. l1 = [1, 3, 6, 7, 9, 8, 5, 4, 2]
  2. l1.sort(reverse=True)
  3. print(l1)
  1. l1 = [1, 3, 6, 7, 9, 8, 5, 4, 2]
  2. l1.sort()
  3. print(l1)
  1. l1 = [1, 3, 6, 7, 9, 8, 5, 4, 2]
  2. l1.reverse()
  3. print(l1)

13.利用python代码构建一个这样的列表(升级题):

  1. [['_','_','_'],['_','_','_'],['_','_','_']]
  1. lst = [[]]
  2. new_lst = lst * 3
  3. for i in range(3):
  4. new_lst[0].append("_")
  5. print(new_lst)

14.看代码写结果:

  1. l1 = [1,2,]
  2. l1 += [3,4]
  3. print(l1)
  1. [1,2,3,4]

15.看代码写结果:

  1. dic = dict.fromkeys('abc',[])
  2. dic['a'].append(666)
  3. dic['b'].append(111)
  4. print(dic)
  1. {"a":[666,111],"b":[666,111],"c":[666,111]}

16.l1 = [11, 22, 33, 44, 55],请把索引为奇数对应的元素删除(不能一个一个删除)

  1. l1 = [11, 22, 33, 44, 55]
  2. lst = l1.copy()
  3. for i in range(len(l1)):
  4. if i % 2 == 1:
  5. del lst[i]
  6. print(lst)

dic = {'k1':'太白','k2':'barry','k3': '白白', 'age': 18} 请将字典中所有键带k元素的键值对删除.

  1. dic = {'k1':'太白','k2':'barry','k3': '白白', 'age': 18}
  2. new_dic = dic.copy()
  3. for k in new_dic.keys():
  4. # print(k)
  5. if "k" in k:
  6. del dic[k]
  7. print(dic)

17.完成下列需求:
s1 = '太白金星'
将s1转换成utf-8的bytes类型。

  1. s1 = '太白金星'
  2. s1 = s1.encode("utf-8")
  3. print(s1)

将s1转化成gbk的bytes类型。
b = b'\xe5\xae\x9d\xe5\x85\x83\xe6\x9c\x80\xe5\xb8\x85'
b为utf-8的bytes类型,请转换成gbk的bytes类型。

  1. b = b'\xe5\xae\x9d\xe5\x85\x83\xe6\x9c\x80\xe5\xb8\x85'
  2. b = b.decode("UTF-8")
  3. b = b.encode("gbk")
  4. print(b)
  1. 用户输入一个数字,判断一个数是否是水仙花数。
    水仙花数是一个三位数, 三位数的每一位的三次方的和还等于这个数. 那这个数就是一个水仙花数,
    例如: 153 = 1 ** 3 + 5 ** 3 + 3 ** 3

    1. inp = int(input("请输入数字(三位数):"))
    2. if 99 < inp < 1000:
    3. a,b,c = inp // 100,inp // 10 % 10,inp % 10
    4. if a ** 3 + b ** 3 + c ** 3 == inp:
    5. print("是水仙花数")
    6. else:
    7. print("不是水仙花数")
    8. else:
    9. print("请输入三位数")
  2. 把列表中所有姓周的⼈的信息删掉(此题有坑, 请慎重):
    lst = ['周⽼⼆', '周星星', '麻花藤', '周扒⽪']
    结果: lst = ['麻花藤']

  1. lst = ['周⽼⼆', '周星星', '麻花藤', '周扒⽪']
  2. new_lst = lst.copy()
  3. for i in new_lst:
  4. if i[0] == "周":
  5. lst.remove(i)
  6. print(lst)

20.车牌区域划分, 现给出以下车牌. 根据车牌的信息, 分析出各省的车牌持有量. (选做题)
cars = ['鲁A32444','鲁B12333','京B8989M','⿊C49678','⿊C46555','沪 B25041']
locals = {'沪':'上海', '⿊':'⿊⻰江', '鲁':'⼭东', '鄂':'湖北', '湘':'湖南'}
结果: {'⿊⻰江':2, '⼭东': 2, '上海': 1}

  1. cars = ['鲁A32444','鲁B12333','京B8989M','⿊C49678','⿊C46555','沪 B25041']
  2. locals = {'沪':'上海', '⿊':'⿊⻰江', '鲁':'⼭东', '鄂':'湖北', '湘':'湖南'}
  3. dic = {}
  4. count = 0
  5. for i in cars:
  6. for j in locals.keys():
  7. if i[0] == j:
  8. if locals[j] in dic.keys():
  9. count += 1
  10. dic[locals[j]] = count
  11. else:
  12. dic[locals[j]] = 0
  13. print(dic)

百万年薪python之路 -- 基础数据类型的补充练习的更多相关文章

  1. 百万年薪python之路 -- 基础数据类型的补充

    基础数据类型的补充 str: 首字母大写 name = 'alexdasx' new_name = name.capitalize() print(new_name) 通过元素查找下标 从左到右 只查 ...

  2. 百万年薪python之路 -- 基本数据类型

    整数 -- 数字(int) 用于比较和运算 32位 2 ** 31 ~ 2 ** 31-1 64位 -2 ** 63 ~ 2 ** 63- 1 ​ + - * / // ** % python2 整型 ...

  3. 百万年薪python之路 -- 基本数据类型练习

    1.代码敲一遍,然后整理笔记 2.有变量name = "aleX leNb" 完成如下操作: 移除 name 变量对应的值两边的空格,并输出处理结果 name = "al ...

  4. python之路--基础数据类型的补充与深浅copy

    一 . join的用法 lst =['吴彦祖','谢霆锋','刘德华'] s = '_'.join(lst) print(s) # 吴彦祖_谢霆锋_刘德华 # join() "*" ...

  5. Python之路-基础数据类型之列表 元组

    列表的定义 列表是Python基础数据类型之一,它是以[ ]括起来, 每个元素用' , '隔开而且可以存放各种数据类型: lst = [1,2,'你好','num'] 列表的索引和切片 与字符串类似, ...

  6. 百万年薪python之路 -- 列表

    1.列表(list)-- list关键字 列表是python的基础数据类型之一,有顺序,可以切片方便取值,它是以[ ]括起来, 每个元素用' , '隔开而且可以存放各种数据类型(字符串,数字,布尔值, ...

  7. Python之路-基础数据类型之字典 集合

    字典的定义-dict 字典(dict)是python中唯⼀的⼀个映射类型.他是以{ }括起来的键值对组成,字典是无序的,key是不可修改的.dic = {1:'好',2:'美',3:'啊'} 字典的操 ...

  8. 百万年薪python之路 -- 小数据池和代码块

    1.小数据池和代码块 # 小数据池 -- 缓存机制(驻留机制) # == 判断两边内容是否相等 # a = 10 # b = 10 # print(a == b) # is 是 # a = 10 # ...

  9. 百万年薪python之路 -- JS基础介绍及数据类型

    JS代码的引入 方式1: <script> alert('兽人永不为奴!') </script> 方式2:外部文件引入 src属性值为js文件路径 <script src ...

随机推荐

  1. 记一次处理mysql数据库无故锁表的经历

    某日,生产环境上的用户表突然无故锁表,原以为只是偶发的bug.所以第一时间想到的解决方案简单粗暴:重启数据库(service mysqld restart).问题得以解决. 10min后,该表再次锁表 ...

  2. 关于canvas合成分享图

    最近在uni-app项目中遇到一个合成分享图的需求,其实最开始是用原生写法来做的,后台发现在PC端测试是可以的,但在APP模拟器中会出现问题,可能是因为两者的js环境不同吧,uni-app官网也说了这 ...

  3. 小红书第五章——引用类型之function类型

    有趣的函数——function类型 函数实际上是对象,每个函数都是function类型的实例,具有属性和方法. 1.函数的定义方法 1)函数声明语法 function sum(num1,num2){/ ...

  4. 手把手教你用最简便的方法免费安装SSL

    原文链接:小枫同学的个人博客 随时IT的发展,它几乎涵盖了世界发展中的任何一方面,几乎都和计算机挂钩,也有好多小伙伴想开一个自己的网站,分享一些知识,分享一些心情等等.但是随着IT的发展,网络安全也越 ...

  5. XLNet预训练模型,看这篇就够了!(代码实现)

    1. 什么是XLNet XLNet 是一个类似 BERT 的模型,而不是完全不同的模型.总之,XLNet是一种通用的自回归预训练方法.它是CMU和Google Brain团队在2019年6月份发布的模 ...

  6. JAVA线程通信之生产者与消费者

    package cn.test.hf.test3; import java.util.concurrent.locks.Condition;import java.util.concurrent.lo ...

  7. Spring MVC-从零开始-EL(未完待续)

    Spring MVC-从零开始-EL(未完待续)

  8. redis分布式锁-WATCH锁(废弃)

    使用watch构建锁的代码结构.(最着负载不断增加,系统完成一次加锁操作,重试次数不断加大) pine=conn.pineline while pine.watch if xxx pine.unwat ...

  9. 【SQL server基础】SQL视图加密,永久隐藏视图定义的文本

    SQL可以对视图进行加密.也就是,可永久隐藏视图定义的文本. 注意   此操作不可逆.加密视图后,无法再修改它,因为无法再看到视图定义.如果需要修改加密视图,则必须删除它并重新创建另一个视图. 示例代 ...

  10. ArcSDE编辑数据ArcMap系统崩溃

    问题描述:用ArcMap编辑Oracle中ArcSDE空间数据,一修改,ArcMap系统就停止响应,然后崩溃 开发的Engine系统操作数据库,然后在客户端蓝屏后,数据库空间数据就出现了不可编辑状态. ...