• day07_集合


    小数据池:

    int :-5-256

    str : 特殊字符, *数字20

    ascii: 八位 一个字节

    unicoid: 32位 4个字节

    utf-8:中文:24位 3个字节   英文:8位 一个字节

    gbk:中文:16位 2个字节   英文:8位 一个字节

    文件传输由unicoid--bytes--utf-8

    基础数据类型补充:

    str:

    int

    bool

    dict

    tuple

    set:可变数据类型(里面放不可变数据类型),无序,不重复,{ }

      增:set.add()

        set.update("adb")  #迭代增加-------单独增加a,b,c

      删:set.pop()         随机删除

        set.remove("adb")   按元素删除  

              set.clear()   清空

        del set     删除

      查:只能for循环,无序

    -------------------------------------------------------

    集合的其他操作

    1.交集----&

    set1 = {1,2,3,4,5}
    set2 = {4,5,6,7,8}
    print(set1 & set2)  # {4, 5}
    print(set1.intersection(set2))  # {4, 5}

    2.并集-----|或union

    set1 = {1,2,3,4,5}
    set2 = {4,5,6,7,8}
    print(set1 | set2)  # {1, 2, 3, 4, 5, 6, 7,8}
    
    print(set2.union(set1))  # {1, 2, 3, 4, 5, 6, 7,8}

    3.差集----(- 或者 difference)

    set1 = {1,2,3,4,5}
    set2 = {4,5,6,7,8}
    print(set1 - set2)  # {1, 2, 3}
    print(set1.difference(set2))  # {1, 2, 3}

    4.反交集----(^ 或者 symmetric_difference)

    set1 = {1,2,3,4,5}
    set2 = {4,5,6,7,8}
    print(set1 ^ set2)  # {1, 2, 3, 6, 7, 8}
    print(set1.symmetric_difference(set2))  # {1, 2, 3, 6, 7, 8}

    5.子集与超集

    set1 = {1,2,3}
    set2 = {1,2,3,4,5,6}
    
    print(set1 < set2) -----True
    print(set1.issubset(set2))---True  # 这两个相同,都是说明set1是set2子集。

    6.frozenset 不可变集合,让集合变成不可变类型

    s = frozenset('barry')
    print(s,type(s))  # frozenset({'a', 'y', 'b', 'r'}) <class 'frozenset'>

    ----------------------------------------------------------------------------------------------------------------------------

    enumerate:枚举,对于一个可迭代的(iterable)/可遍历的对象(如列表、字符串),enumerate将其组成一个索引序列,利用它可以同时获得索引和值。 

    li = ['alex','银角','女神','egon','太白']
    for i in enumerate(li):
        print(i)
    ----------------------------------------

    (0, 'alex')
    (1, '银角')
    (2, '女神')
    (3, 'egon')
    (4, '太白')

    ------------------------------------------

    for index,name in enumerate(li,1):
        print(index,name)
    -----------------------------------------

    1 alex
    2 银角
    3 女神
    4 egon
    5 太白

    --------------------------------------------

    for index, name in enumerate(li, 100):  # 起始位置默认是0,可更改
        print(index, name) 
    ------------------------------------------

    100 alex
    101 银角
    102 女神
    103 egon
    104 太白

     

    #删除列表的奇数索引数值          在循环列表,字典是不要删除内容,易出错
    lis = [1,2,3,4,5,"t","t",4]
    val =[]
    for i in range(len(lis)):
    if i % 2 != 0:
    j =len(lis)-i-1
    print(j)
    val.append(j)
    print(val)
    for k in val:
    lis.pop(k)
    print(lis)

  • 相关阅读:
    Android Studio 开发
    Jsp编写的页面如何适应手机浏览器页面
    电影
    Oracle 拆分列为多行 Splitting string into multiple rows in Oracle
    sql server 2008 自动备份
    WINGIDE 激活失败
    python安装 错误 “User installations are disabled via policy on the machine”
    ble编程-外设发送数据到中心
    iOS开发-NSString去掉所有换行及空格
    ios9 字符串与UTF-8 互相转换
  • 原文地址:https://www.cnblogs.com/wzc27229/p/10949605.html
Copyright © 2020-2023  润新知