python 深浅拷贝
Posted 崽崽blog
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了python 深浅拷贝相关的知识,希望对你有一定的参考价值。
###########################总结###########################
1. 基础数据类型补充
大多数的基本数据类型的知识.已经学完了
join()
"*".join("马虎疼") # 马*虎*疼 把传递进去的参数进行迭代. 获取到的每个元素和前面的*进行拼接. 得到的是字符串
split() 切割. 切割的结果是列表
列表和字典: 都不能在循环的时候直接删除
把要删除的内容记录在新列表中然后循环这个新列表. 删除列表(字典)
lst=[‘篮球‘,‘排球‘,‘羽毛球‘,‘呵呵‘] new_lst =[] for el in lst: if "球" in el: new_lst.append(el) print(new_lst) #循环新列表里面的值,删除老列表 for el in new_lst: lst.remove(el) print(lst)
fromkeys()
坑1: 返回新字典. 不会更改老字典
dic = {}
d=dic.fromkeys("风扇哥","很困")
print(dic)#是空的 返回新的字典 和原来的 没有关系
print(d)#{‘风‘: ‘很困‘, ‘扇‘: ‘很困‘, ‘哥‘: ‘很困‘}
坑2: 当value是可变的数据类型. 各个key共享同一个可变的数据类型. 其中一个被改变了. 其他都跟着变
d= dict.fromkeys("胡辣汤",[]) print(d)#{‘胡‘: [], ‘辣‘: [], ‘汤‘: []} d[‘胡‘].append(‘河南特色‘) print(d)#{‘胡‘: [‘河南特色‘], ‘辣‘: [‘河南特色‘], ‘汤‘: [‘河南特色‘]}
# 程序员找工作和菜市场大妈买白菜是一样的
###########################作业###########################
1.判断一个数是否是水仙花数, 水仙花数是一个三位数, 三位数的每一位的三次方的和还等于这个数.
那这个数就是一个水仙花数, 例如: 153 = 1**3 + 5**3 + 3**3
n = input("请输入一个三位数:") # 156 s = int(n[0])**3 + int(n[1])**3 + int(n[2]) ** 3 if int(n) == s: print("是水仙花数") else: print("不是") content=input(‘请输入数据:‘) sum=0 for i in content: sum=sum + int(i)**3 #153 if sum== int(content): print(f‘{content}是水仙花数‘) else: print(f‘{content}不是水仙花数‘)
2.给出一个纯数字列表. 请对列表进行排序(升级题).
思路:
1.完成a和b的数据交换. 例如, a = 10, b = 24 交换之后, a = 24, b = 10
2.循环列表. 判断a[i]和a[i+1]之间的大小关系, 如果a[i]比a[i+1]大. 则进行互换. 循环结束的时候.
当前列表中最大的数据就会被移动到最右端.
3.想一想, 如果再次执行一次上面的操作. 最终第二大的数据就移动到了右端. 以此类推.
如果反复的进行执行相应的操作. 那这个列表就变成了一个有序列表.
暂时空着
3.税务部门征收所得税. 规定如下:
1). 收入在2000以下的. 免征.
2). 收入在2000-4000的, 超过2000部分要征收3%的税.
3). 收入在4000-6000的, 超过4000部分要征收5%的税.
4). 收入在6000-10000的, 超过6000部分要征收8%的税.
4). 收入在10000以上的, 超过部分征收20%的税.
注, 如果一个人的收入是8000, 那么他要交2000到4000的税加上4000到6000的税加上6000到8000的税.
收入 = 8000-(4000-2000)*3%-(6000-4000)*4%-(8000-6000)*8%
让用户输入它的工资, 计算最终用户拿到手是多少钱.
while 1: content=int(input(‘请输入你的工资:‘)) sum=0 if content < 200: pass elif content >2000 and content < 4000: sum=content - (4000 - 2000)*0.03 print(f‘你的工资为{sum}‘) elif content >4000 and content < 6000: sum = content - (6000 - 4000) * 0.03 - (4000 - 200) * 0.05 print(f‘你的工资为{sum}‘) elif content > 6000 and content <10000: sum = content - (10000 - 6000) * 0.08 - (4000 - 200) * 0.05 - (6000 - 400) * 0.03 print(f‘你的工资为{sum}‘) else: sum =content - content*0.2 print(f‘你的工资为{sum}‘)
4.完成彩票36选7的功能. 从36个数中随机的产生7个数. 最终获取到7个不重复的数据作为最终的开奖结果.
随机数:
from random import randint
randint(0, 20) # 0 - 20 的随机数
from random import randint s=set() while len(s)<7: num=randint(1,36) s.add(num) print(s)
# for : 确定循环范围. str, list, dic, tuple, set
# while: 不确定循环次数
以上是关于python 深浅拷贝的主要内容,如果未能解决你的问题,请参考以下文章