zoukankan      html  css  js  c++  java
  • 二.列表、元组和集合

    1.Python的数据结构

    • Container容器:
      • 序列:
        • string字符串:"abcd",'ABCD' ---不可变
          • string由于属于序列,所以可以索引
        • tuple元组:(1,2,34,"abc") --- 不可变
        • list列表:[1,2,"123"] ---可变
      • 映射:dict字典: {"key":"map"} --- 可变
      • 集合:set
    • ()含有不可变属性,如函数中的参数输入,元组等
    • []含有可变属性,同时也具备索引属性。无论是list还是dict,都是以[index]模式进行索引
    • {}含有映射属性,dict字典、string中format使用

    2.序列操作

    • 索引:AAA[-1]表示最后一个数,-1表示序列倒数第一个数,正数是0开始。
    • 切片A[a:b:c]:
      • a开始位置(有a)、b结束位置(无b)。
      • ab孰大孰小取决于步长c。
      • ab可以不写,表示极端位置。
    • 序列相加:注意不是矩阵运算,不能拼接不同类型的序列。
    • 乘法:
      a=[None,1]
      print(a*3)
      >>>[None, 1, None, 1, None, 1]
    • 成员资格,运算符in:
      print(2 in ["a",2])   #True
      print("b" in ("b",2)) #True
      print("C" in "China") #True 

    3.复制的相关问题:

    • 浅复制与深复制:
      a=[1,2,3,["a","b"]]
      b=a #建立指针
      c=a.copy()  #浅复制,只能复制第一层,更高层建立指针
      from copy import deepcopy
      d=deepcopy(a) #深复制,复制内存
    •  切片赋值:
      #切片赋值,也只能复制第一层
      list1=[1,"a",2,["ABC",123]]
      n=list1[:]
      print(n,list1) #[1, 'a', 2, ['ABC', 123]] [1, 'a', 2, ['ABC', 123]]
      n[0]=2
      n[-1][-1]=456
      print(n,list1) #[2, 'a', 2, ['ABC', 456]] [1, 'a', 2, ['ABC', 456]]

    4.元组

    • 表示只包含一个元素的元组:(42,),这里必须要加逗号才可以表示元组,(42)=42。

    5.集合

    #集合,没有重复的元素
    a=set([1,2,3,4,2,1])
    print(a) #{1, 2, 3, 4}
    #{...}来设定集合,但是不能{},{}表示字典
    b={2,3,8,8,8,8,"abc","abc","abc"}
    print(b) #{8, 2, 3, 'abc'}
    print(a.union(b),a|b,a&b) #集合运算
    #集合是可变的,不能用作字典中的键。集合只能包含不可变(可散列)的值,不能包含其他集合
    a.add(frozenset(b)) #如果要包含其他集合,必须冻结住该集合
    print(a) #{1, 2, 3, 4, frozenset({8, 2, 3, 'abc'})}
  • 相关阅读:
    东南亚“美团” Grab 的搜索索引优化之法
    linux中init.d文件夹的说明
    缓存踩踏:Facebook 史上最严重的宕机事件分析
    burp suite
    千万实例可观测采集器iLogtail
    grep 匹配多个关键字
    127.0.0.1和0.0.0.0
    Python 爬虫进阶必备 | 某常见 cookie 加密算法逻辑分析 (加速乐 jsl) https://mp.weixin.qq.com/s/fKuPs2b3MvOi8y4hPVbgNA
    百度商业大规模高性能全息日志检索技术揭秘
    ECB加密 CBC
  • 原文地址:https://www.cnblogs.com/i201102053/p/10617342.html
Copyright © 2011-2022 走看看