• Python笔记-集合,拷贝


    对于列表,元组,集合的异同,有如下解释

    #list ----> 允许重复的集合,修改
    # tuple ----> 允许重复的集合,不修改
    # set ----> 不允许重复的集合
    下面是示例代码:
     1 s1 = set()
     2 s2 = {1,2,3,4}
     3 s3 = set([11,22,33,44])
     4 s4 = {3,4,5,6,89}
     5 print type(s2)   #<type 'set'>
     6 s1.add(44)
     7 print s1         #set([44])
     8 s1.clear()
     9 print s1         #set([])
    10 print s2.difference(s4)  #set([1, 2]) (s1中存在,s2中不存在的)
    11 
    12 print s2        #set([1, 2, 3, 4])
    13 diff = s2.difference_update(s4)
    14 print s2        # s1中存在,s2中不存在的,更新s1,  set([1, 2])
    15 print diff
    16 
    17 s3.discard(44)
    18 print s3
    19 s3.discard(55)      #要移除的元素不存在时,不报错
    20 print s3
    21 s3.remove(66)       #要移除的元素不存在时,报错
    22 
    23 s5 = {77,88,99}
    24 s6 = {88,77}
    25 ret1 = s5.intersection(s6)
    26 print ret1      #取交集  set([77])
    27 
    28 s5.intersection_update(s6)
    29 print s5       #取交集,更新s5
    30 ret2 = s5.isdisjoint(s6)
    31 print ret2     #有交集是false
    32 
    33 ret3 = s5.issubset(s6)
    34 print ret3      #判断s5是否为s6的子序列
    35 
    36 ret4 = s5.issuperset(s6)
    37 print ret4     #判断s5是否为s6的父序列
    38 
    39 ret5 = s6.pop()
    40 print ret5     #88
    41 print s6       #set([77])
    42 
    43 ret6 = s2.symmetric_difference(s4)
    44 print ret6     #set([1, 2, 5, 6]) s2中存在的,s4不存在,+ s4存在,s2不存在
    45 
    46 ret7 = s2.union(s4)
    47 print ret7     #set([1, 2, 3, 4, 5, 6])取并集
    48 
    49 s2.update(s4)
    50 print s2        #set([1, 2, 3, 4, 5, 6, 89])并在一起

    三元运算的形式:name = 值1 if 条件 else 值2

    下面是普通的运算:

    1 if 1 == 1 :
    2     name = "alex"
    3 else:
    4     name = "eric"
    5 print name

    下面是三元运算:

    1 name = "alex" if 1 == 1 else "eric"
    2 print name

    拷贝:字符串数字,拷贝,赋值,地址深浅拷贝无意义,因为字符串的优化机制,ID都是一样的

    
    
    1 import copy
    2 n1 = 123
    3 print id(n1)
    4 n2 = n1
    5 print id(n2)
    6 n3 = copy.copy(n1)
    7 print id(n3)

    深拷贝全部拷贝,除了最内一层,浅拷贝只拷贝了最外面一层,所以K1的ID是一样的。
    1 n4 = {"k1":"wu","k2":123,"k3":["alex",456]}
    2 n5 = copy.copy(n4)
    3 print "n4 id:" + str(id(n4))
    4 print "n5 id:" + str(id(n5))
    5 
    6 print id(n4['k1'])
    7 print id(n5['k1'])
    8 #39516400
    9 #39516400
     
     
  • 相关阅读:
    ant design拖拽手柄列拖动时样式错乱的解决方案
    ant design pro columns属性valueEnum下拉框按顺序显示
    blob转换为file上传(七牛云等)
    最新前端面试题收集(一)
    node 服务端分层模型小结
    将博客搬至CSDN
    Koa 连接mysql数据,mysql数据库表初始化脚本
    Koa 数据库连接和查询分离, CommonJS 模块遇到的一个坑
    koa session 存储方案
    koa-router 入门与使用
  • 原文地址:https://www.cnblogs.com/nurruden/p/5539076.html
Copyright © 2020-2023  润新知