1.看代码写结果

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

2.看代码写结果

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

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

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

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

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

5.看代码写结果

import copy
v1 = "alex"
v2 = copy.copy(v1)
v3 = copy.deepcopy(v1)
print(v1 is v2)
print(v1 is v3)
True
True

6.看代码写结果

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

7.看代码写结果

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

print(v1[0] is v2[0])
print(v1[0] is v3[0])
print(v2[0] is v3[0])
True
True
True

8.看代码写结果

import copy

v1 = [1,2,3,4,[11,22]]
v2 = copy.copy(v1)
v3 = copy.deepcopy(v1)

print(v1[-1] is v2[-1])
print(v1[-1] is v3[-1])
print(v2[-1] is v3[-1])
True
False
False

9.看代码写结果

import copy

v1 = [1,2,3,{"name":'太白',"numbers":[7,77,88]},4,5]
v2 = copy.copy(v1)

print(v1 is v2)

print(v1[0] is v2[0])
print(v1[3] is v2[3])

print(v1[3]['name'] is v2[3]['name'])
print(v1[3]['numbers'] is v2[3]['numbers'])
print(v1[3]['numbers'][1] is v2[3]['numbers'][1])
False
True
True
True
True
True

10.看代码写结果

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

print(v1[3]['name'] is v2[3]['name'])
print(v1[3]['numbers'] is v2[3]['numbers'])
print(v1[3]['numbers'][1] is v2[3]['numbers'][1])
False
True
False
True
False
True

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

字符串
元组
字典

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

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

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

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

14.看代码写结果:

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

15.看代码写结果:

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

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

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

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

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

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

s1 = '太白金星'
s1 = s1.encode("utf-8")
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类型。

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

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

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

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

cars = ['鲁A32444','鲁B12333','京B8989M','⿊C49678','⿊C46555','沪 B25041']
locals = {'沪':'上海', '⿊':'⿊⻰江', '鲁':'⼭东', '鄂':'湖北', '湘':'湖南'}
dic = {}
count = 0
for i in cars:
    for j in locals.keys():
        if i[0] == j:
            if locals[j] in dic.keys():
                count += 1
                dic[locals[j]] = count
            else:
                dic[locals[j]] = 0
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. C++基础之动态内存

    C++支持动态分配对象,它的生命周期与它们在哪里创建无关,只有当显示的被释放时,这些对象才会被销毁.分配在静态或栈内存中的对象由编译器自动创建和销毁. new在动态内存中为对象分配空间并返回一个指向该 ...

  2. Go微服务容错与韧性(Service Resilience)

    Service Resilience是指当服务的的运行环境出现了问题,例如网络故障或服务过载或某些微服务宕机的情况下,程序仍能够提供部分或大部分服务,这时我们就说服务的韧性很强.它是微服务中很重要的一 ...

  3. filebeat相关registry文件内容解析

    filebeat的registry文件中存放的是被采集的所有日志的相关信息. linux中registry中一条日志记录的内容如下 {"source":"/var/log ...

  4. Android adb shell am 命令学习(1)

    am:activity manager 启动Activity,打开或关闭进程,发送广播等操作 为什么学习: 主要应用部分,后台启动对应的package的Activity adb shell am st ...

  5. GIT 安装和配置

    Git(读音为/gɪt/.)是一个开源的分布式版本控制系统,可以有效.高速地处理从很小到非常大的项目版本管理. 一.安装 具体参照 安装 Git ,安装完git之后可以安装客户端工具 tortoise ...

  6. 通过父级id获取到其下所有子级(无穷级)——Mysql函数实现

    [需求]某用户只能查看其自己信息及其下级信息,涉及通过该用户所在部门获取其下所有部门(多层)id集合. 步骤一:对数据库进行设置: set global log_bin_trust_function_ ...

  7. Java中类加载和反射技术实例

    我们知道一个对象在运行时有两种类型,一个是编译类型,一个是运行时类型.在程序运行时,往往是需要发现类和对象的真实的信息的.那么如何获的这种信息呢? 其一,如果我们在编译和运行时都知道类型的具体信息,这 ...

  8. RMAN备份归档日志ORA-19575

    RMAN备份归档日志ORA-19575 一.问题描述 1)环境oracle 10g; 2)报错现象RMAN进行备份归档报错失败ORA-19575 二.问题处理 1)根据客户说明的现象,百度了一波(详见 ...

  9. RocketMQ 源码学习笔记 Producer 是怎么将消息发送至 Broker 的?

    目录 RocketMQ 源码学习笔记 Producer 是怎么将消息发送至 Broker 的? 前言 项目结构 rocketmq-client 模块 DefaultMQProducerTest Roc ...

  10. 02-15 Logistic回归(鸢尾花分类)

    目录 Logistic回归(鸢尾花分类) 一.导入模块 二.获取数据 三.构建决策边界 四.训练模型 4.1 C参数与权重系数的关系 五.可视化 更新.更全的<机器学习>的更新网站,更有p ...