zoukankan      html  css  js  c++  java
  • 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)

  • 相关阅读:
    Java实现 LeetCode 833 字符串中的查找与替换(暴力模拟)
    Java实现 LeetCode 833 字符串中的查找与替换(暴力模拟)
    Java实现 LeetCode 833 字符串中的查找与替换(暴力模拟)
    Java实现 LeetCode 832 翻转图像(位运算)
    Java实现 LeetCode 832 翻转图像(位运算)
    Java实现 LeetCode 832 翻转图像(位运算)
    Java实现 LeetCode 831 隐藏个人信息(暴力)
    Java实现 LeetCode 831 隐藏个人信息(暴力)
    Java实现 LeetCode 831 隐藏个人信息(暴力)
    how to use automapper in c#, from cf~
  • 原文地址:https://www.cnblogs.com/wzc27229/p/10949605.html
Copyright © 2011-2022 走看看