zoukankan      html  css  js  c++  java
  • python学习day7

    昨日内容回顾

    小数据池:
    int  -5~256
    str  特殊字符,*数字20
    
    
    ascii :  8位 1字节  表示1个字符
    unicode  32位  4个字节  表示一个字符
    utf- 8  1个英文 8位,1个字节
            欧洲 16位   两个字节  表示一个字符
            亚洲 24位   三个字节  表示一个字符
    
    gbk    1个英文 8位,1个字节
            亚洲 16位   两个字节  表示一个字符
    
    s = 'alex'
    b = s.encode('utf-8')
    print(b)  # b'alex'
    
    1,基础数据类型汇总补充
    str
    int
    list
        在循环一个列表时,最好不要删除列表中的元素,这样会使索引发生改变,从而报错。
    bool
    dict
        1,fromkeys()
    
    tuple
    2,集合set
    3,深浅copy

    今日代码练习

    # 列表值偶数位的两种方式
    # 第一种
    lis = lis[::2]
    print(lis)
    # 第二种
    l1 = []
    for i in lis:
        if lis.index(i) % 2 == 0:
            l1.append(i)
    lis = l1
    print(lis)
    
    # 快速创建字典
    """ Returns a new dict with keys from iterable and values equal to value. """
    dic = dict.fromkeys('alex', '春哥')
    print(dic)
    dic = dict.fromkeys([1, 2, 3], [])
    print(dic)  # {1: [], 2: [], 3: []}
    dic[1].append('袁姐')
    print(dic)
    dic[2].extend('二哥')
    print(dic)
    
    # 浅copy
    l1 = []
    l2 = l1
    l3 = l1
    l3.append('a')
    print(l1, l2, l3)
    
    # 删除字典中键值对的两种方法
    dic = {'k1': 'v1', 'k2': 'v2', 'a3': 'v3'}
    dic1 = {}
    
    for i in dic:
        if 'k' not in i:
            dic1.setdefault(i, dic[i])
    dic = dic1
    print(dic)
    
    l = []
    for i in dic:
        if 'k' in i:
            l.append(i)
    for i in l:
        del dic[i]
    print(dic)
    
    # 转化成bool值为False
    # 0
    # ''[]()
    # {}
    # set()
    
    # 元祖
    # 如果元祖里面只有一个元素且不加逗号那此元素是什么类型,就是什么类型。
    tu1 = (1)
    tu2 = (1,)
    print(tu1, type(tu1))
    print(tu2, type(tu2))
    tu1 = ([1])
    tu2 = ([1],)
    print(tu1, type(tu1))
    print(tu2, type(tu2))
    dic = dict.fromkeys([1, 2, 3], 3)
    dic[1] = 4
    print(dic)

    集合代码练习

    '''
    集合:可变的数据类型,他里面的元素必须是不可变的数据类型,无序,不重复。
         {}
    '''
    #集合的创建
    # set1 = set({1, 2, 'barry'})
    # set2 = {1, 2, 'barry'}
    # print(set1, set2)  # {1, 2, 'barry'} {1, 2, 'barry'}
    
    #集合的增,删
    #增 add() update()迭代的增加
    set1 = {'alex','wusir','wusir','taibai','yuanhao'}
    # set1.add('peiqi')
    # print(set1)
    # set1.update('中国')
    # print(set1)
    #删除 pop()随机删除有返回值, remove()按元素删除,clear()
    # print(set1.pop())
    # print(set1)
    # set1.remove('alex')
    # print(set1)
    # set1.clear()
    # print(set1) #set()
    #查询
    # for i in set1:
    #     print(i)
    
    #集合的方法
    
    #求交集
    # a = {1,2,3,4,5}
    # b = {4,5,6,7,8}
    # print(a & b)
    # print(a.intersection(b))
    
    #求反交集
    # print(a ^ b)
    # print(a.symmetric_difference(b))
    
    #求并集
    # print(a | b)
    # print(a.union(b))
    
    #求差集,就是谁独有的
    # print(a - b)
    # print(a.difference(b))
    
    #求子集与超集
    # a = {1,2,3}
    # b = {1,2,3,4,5,6}
    # print(a <b)
    # print(a.issubset(b))  # 这两个相同,都是说明set1是set2子集。
    #
    # print(b > a)
    # print(b.issuperset(a))  # 这两个相同,都是说明set2是set1超集。
    
    #让集合变成不可变类型,可查询
    # s = frozenset('barry')
    # print(s,type(s))  # frozenset({'a', 'y', 'b', 'r'}) <class 'frozenset'>
    # for i in s:
    #     print(i)

    深浅copy

    #深浅copy
    #赋值运算
    # l1=[1,2,3,['alex','barry']]
    # l2=l1
    # l1[0]=111
    # print(l1,l2)
    # l1[3][0]='wusir'
    # print(l1,l2) #对于赋值运算来说,l1与l2指向的是同一个内存地址,所以它们是完全一样的
    
    #浅拷贝copy()
    # l1=[1,2,3,['alex','barry']]
    # l2=l1.copy()
    # print(l1,id(l1))
    # print(l2,id(l2))
    # l1[0]=111
    # print(l1,id(l1))
    # print(l2,id(l2))
    #
    # l1[3][0]='wusir'
    # print(l1,id(l1[3]))
    # print(l2,id(l2[3]))#对于浅copy来说,第一层创建的是新的内存地址,而从第二层开始,指向的都是同一个内存地址,
    #  所以,对于第二层以及更深的层数来说,保持一致性
    
    #深copy
    # import copy
    # l1= [1,2,3,['alex','barry']]
    # l2 = copy.deepcopy(l1)
    # print(l1,id(l1))
    # print(l2,id(l2))
    # l1[0]=111
    # print(l1,id(l1))
    # print(l2,id(l2))
    # 
    # l1[3][0]='wusir'
    # print(l1,id(l1[3]))
    # print(l2,id(l2[3]))#对于深copy来说,两个是完全独立的,改变任意一个的任何元素(无论多少层),另一个绝对不改变
  • 相关阅读:
    NT头 IMAGE_NT_HEADER
    组合框
    列表框消息大全
    滚动条
    列表框
    超级列表框
    按钮
    EDIT编辑框
    15. 三数之和
    268. 缺失数字
  • 原文地址:https://www.cnblogs.com/wujunjie-sir/p/9178999.html
Copyright © 2011-2022 走看看