今日内容:

  1.字符串操作补充:

    join # 遍历列表

    例:

      lst = ['汪峰','吴君如','章子怡']

      s = '*-/@'.join(lst)

      prints(s)

      结果为汪峰*-/@吴君如*-/@章子怡

      即把列表中的每一项用' '里边的东西进行拼接 结果为 字符串

      而lst.split()正好相反

  2.删除

     例:

      lst = ['渣渣辉',''古天乐'','陈小春','石榴姐']

      # ls.clear() 没问题

      但是用

      for el inlst : 内部有一个变量来记录当前被循环的位置,索引.

      lst.remove(el) # 直接删除,删不干净.原因是每次删除都涉及到元素的移动,索引在变

      总结:

        1.循环迭代过程中不能删除

       2.要想删除可以创建新列表,先把要删除的内容保留到新列表中.循环这个新列表,删                                              除老列表

       3.字典在循环过程中可以修改,但不能新增和删除.

        newlst = []

        for el in lst :

          newlst.append(el)

        for el in newls:

          lst.remove(el)

  3.fromkeys

    字典的fromkeys  # fromkeys 是一个类方法,作用是创建新字典

    原字典没有改变

    dic.fromkeys(k,v)

    把k迭代和value组成k:v字典,所有的key共享一个value

    所有的key用的都是同一个列表,改变其中一个另一个也相应改变 

  4.set集合

   不重复 无序 不可变 (可哈希)

   lst(set(lst))可以用来去除列表中的重复出现的元素

   字典里的key不会重复

   空集合 s = set()

   s = {1,2,3,4,5} # 不重复,必须是可哈希的

   # set其实就是不存在value 的字典 只存在key

   应用 :去重复

      set 无索引 因为无顺序

   set 的增删改查

    1.增:

      s.add('要添加的东西')

      s.update()迭代更新

    2.删:

      item = s.pop()

      s.remove('要删除的对象')指定删除某对象

    

    3.改

      先删除再添加 s.remove('要删除的对象')之后 s.add('要添加的对象')

    4.查

    • for el in s :
    • print(el)
  • 深浅拷贝

    • 1.赋值 不会产生新对象 和拷贝没关系,多个变量共享同一个对象
    • 2.浅拷贝 只会复制自身.会创建对象新的对象中里面的对象不会被拷贝
    • 3.深拷贝 把内部所有内容都进行拷贝.会创建一个一模一样的完全新的对象.这个对象延伸出来的内容也会跟着复制一份
    • 冒泡排序

作业

第一题

while 1:
  a = input("请随机输入一个三位数").strip()
  if len(a) == 3:

  sum =

   for el in a:

     sum += int(el)**3 print (sum)

    if int(a) == sum: print("%s是水仙花数"%(a))

      break

    else:
      print("%s不是水仙花数" % (a))

      break

  else:

   print ("输入不合法请重新输入")
   continue

2

a = int(input("请输入一个数"))

b = int(input("请再输入一个数"))

print('交换前的数字为a = %s,b = %s'%(a,b))

c = a

a = b

b = c

print('交换后的数字为a = %s,b = %s'%(a,b))

3
a = ['3','2','100','8','6','66','5']

b = []

for i in range(len(a)-1):

  if int(a[i]) > int(a[i+1]):

    k = a[i]

    a[i] = a[i+1]

    a[i+1] = k

  print(a)

a = ['3','2','100','8','6','5','5','66','5']
count = 0

while count < len(a)-1:

  for i in range(len(a)-1):

     if int(a[i]) > int(a[i+1]):

      k = a[i]

      a[i] = a[i+1]

      a[i+1] = k

  count += 1

print(a)

3 from random import randint

count = 1

s = set()

while count <= 7:

   n = randint(0, 36)

   s.add(n)

  count += 1

print(s)

sal = int(input("请输入您的税前工资:").strip())

if sal <= 2000:

   print("您不用交税")

elif sal > 2000 and sal <= 4000:

   money = (sal - 2000)*0.97

   print("您到手工资为%s元"%(money))

elif sal > 4000 and sal <= 6000:

   money = (sal-4000)*0.95 + 2000*0.97+

   print("税后收入为%s元"%(money))

elif sal > 6000 and sal <= 10000:

   money = (sal-6000)*0.92 + 2000*0.95 + 2000*0.97

   print("税后收入为%s元"%(money))

else:

   money = (sal - 10000) * 0.8 + 4000 * 0.92 + 2000*0.95 + 2000*0.97

   print("税后收入为%s元"%(money))

      

      

      

      

  

day 007 深浅拷贝的更多相关文章

  1. Python 从零学起(纯基础) 笔记 之 深浅拷贝

    深浅拷贝 1. import  copy#浅拷贝copy.copy()#深拷贝copy.deepcopy()#赋值 = 2.   对于数字和字符串而言,赋值.浅拷贝和深拷贝无意义,因为其永远指向同一个 ...

  2. python——赋值与深浅拷贝

    初学编程的小伙伴都会对于深浅拷贝的用法有些疑问,今天我们就结合python变量存储的特性从内存的角度来谈一谈赋值和深浅拷贝~~~ 预备知识一——python的变量及其存储 在详细的了解python中赋 ...

  3. Python中的深浅拷贝

    1.什么是深浅拷贝? python中一切皆对象,python中的数字.字符串.元组等,如果存放在了内存中,这部分内存里面的内容是不会改变的,但是也有情况,内存中存放了可变对象,比如说列表和字典,他们的 ...

  4. Python-Day3知识点——深浅拷贝、函数基本定义、内置函数

    一.深浅拷贝 import copy #浅拷贝 n1={'k1':'wu','k2':123,'k3':['carl',852]} n2=n1 n3=copy.copy(n1) print(id(n1 ...

  5. python基础知识5——赋值与深浅拷贝——整数和字符串,列表元组字典

    深浅copy 一.数字和字符串 对于 数字 和 字符串 而言,赋值.浅拷贝和深拷贝无意义,因为其永远指向同一个内存地址. 1 import copy 2 # ######### 数字.字符串 #### ...

  6. python 学习笔记5(深浅拷贝与集合)

    拷贝 我们已经详细了解了变量赋值的过程.对于复杂的数据结构来说,赋值就等于完全共享了资源,一个值的改变会完全被另一个值共享. 然而有的时候,我们偏偏需要将一份数据的原始内容保留一份,再去处理数据,这个 ...

  7. Python开发【第二章】:Python深浅拷贝剖析

    Python深浅拷贝剖析 Python中,对象的赋值,拷贝(深/浅拷贝)之间是有差异的,如果使用的时候不注意,就可能产生意外的结果. 下面本文就通过简单的例子介绍一下这些概念之间的差别. 一.对象赋值 ...

  8. python基础(三元运算+深浅拷贝+函数参数)

    三元运算 三元运算,又称三目运算,主要作用是减少代码量,是对简单的条件语句的缩写. 书写格式: result = 值1 if 条件 else 值2 即如果条件成立,则将值1赋给result变量,如果不 ...

  9. @proprety数组字典字符串用copy和strong区别(深浅拷贝)

    ////  @proprety数组字典字符串用copy和strong区别(深浅拷贝).h//  IOS笔记//// /* _proprety________copy_strong_________h ...

随机推荐

  1. 如何关闭打开了多个activity的activity

    专门建立一个类,内部有一个静态的linklist对象,用来记录打开的activity,如果该ACTIVITY没有被打开过,在每一个activity oncreate方法中将自己的实例加入这个list. ...

  2. android手机分辨率的一些说明

    Android上常见度量单位 px(像素):屏幕上的点,绝对长度,与硬件相关 in(英寸):长度单位 mm(毫米):长度单位 pt(磅):1/72英寸,point dp(与密度无关的像素):一种基于屏 ...

  3. General框架如何实现多数据库支持

    关于用C#实现多数据库支持的方式,大家都会多少了解,本文从General框架的开发思路角度详细介绍General框架实现多数据库支持的方式,使更多的人了解General框架的底层实现并得到所需的相关知 ...

  4. 283E&EZOJ #89 Cow Tennis Tournament

    传送门 分析 我们考虑用所有的情况减去不合法的情况 不难想出所有情况为$C_n^3$ 于是我们考虑不合法的情况 我们知道对于一个不合法的三元组$(a,b,c)$一定是修改后$a<b,b>c ...

  5. CF938D Buy a Ticket

    这个题都想不出来,感觉

  6. Tomact和XML配置文件

    1 Http协议2 Tomcat服务器3 编写xml4 通过DTD约束编写指定格式的XML 5 通过Schema约束编写指定格式的XML6 使用D0M4J解析xml================== ...

  7. C#中 ACCESS数据库常用操作语句...容易出错的地方(DateTime类型)

    这次在C#编程过程中,第一次用到了ACCESS数据库,重点涉及到时间类型,整数类型.是否类型....;遇到了许多困难,就把这些整理了下来,与大家分享. 一.Insert语句的基本格式: INSERT ...

  8. Cadence如何自定义快捷键

    第一步:将pcbenv复制到SPB_Data下,并覆盖原来的文件 第二步:打开pcbenv文件,将script和views文件夹以及env复制到cadence安装目录\SPB_16.3\share\p ...

  9. 树莓派(Raspberry Pi 3) - 系统烧录及xshell连接

    树莓派(Raspberry pi)是一块集成度极高的ARM开发板,不仅包含了HDMI,RCA,CSI,HDMI,GPIO等端口,还支持蓝牙以及无线通信.由于 Raspberry Pi 几乎是为 Lin ...

  10. github分支管理

    一. 需要创建的分支 1.master 主分支 2.dev 开发分支 3.bug 修改bug分支 4.release 预发布分支 二.分支使用 1.在master上创建dev,bug,release分 ...