了解变量和引用

  • 变量简单地说就是指向了一个实体
  • 引用简单地说就是指向变量的变量

    >>> a = 1
    >>> b = a
    >>> id(a)
    1778508560
    >>> id(b)
    1778508560

基础数据结构的CRUD操作

  • List(列表)

    list中存的元素是引用

    • create(增加)

      • append

        末尾添加元素

        >>> l = []
        >>> id(l)
        55200584
        >>> l.append("a")
        >>> l
        ['a']
        >>> id(l)
        55200584
      • ++=

        • +

          拼接两个列表, 然后返回一个新列表

        • +=

          >>> l = ['a']
          >>> id(l)
          55200664
          >>> l += ['b']
          >>> id(l)
          55200664
          >>> l
          ['a', 'b']
      • **=

        >>> a = 'a'
        >>> id(a)
        53622432
        >>> l = [a] * 10
        >>> l
        ['a', 'a', 'a', 'a', 'a', 'a', 'a', 'a', 'a', 'a']
        >>> id(l[0])
        53622432
        >>> id(l[1])
        53622432
        >>> id(l[9])
        53622432
        
        # 赋值语句之后, a已经是一个新的对象了
        >>> a = 'b'
        >>> l
        ['a', 'a', 'a', 'a', 'a', 'a', 'a', 'a', 'a', 'a']
        >>> id(a)
        53647264
      • insert

        指定位置添加元素

        l.insert(0, 'b')
    • Retrieve(检索)

      • 索引取值

        所有序列都支持索引取值

      • 切片

        your_list[start:end:step]
        # 取一段区间
        your_list[start:end]
        
        # 取最后一个值
        your_list[-1]
        
        # 间隔问题
        your_list[1:20:2]
      • index

        >>> l
        ['a', 'b', 'c']
        >>> l.index('a')
        0
    • Update(更新)

      • 索引赋值

        l[0] = 'a_1'
      • 切片赋值

        >>> l
        ['a_1', 'a_2', 'b', 'c']
        >>> l[0:2] = "a"
        >>> l
        ['a', 'b', 'c']
        >>> l[0:2] = 1
    • DELETE(删除)

      • pop()

        从末尾删除元素并返回

        >>> l
        ['a', 'b', 'c']
        >>> x = l.pop()
        >>> l
        ['a', 'b']
        >>> x
        'c'
      • clear()

        清楚当前列表的元素, 不会改变列表的内存地址.

    • ★SORT(排序)

      • sort()

        >>> l
        [1, 3, 2, 6, 4]
        >>> l.sort()
        >>> l
        [1, 2, 3, 4, 6]
        
      • sorted

        排序后返回新列表

        >>> l2 = sorted(l)
        >>> l
        [1, 3, 2, 6, 4]
        >>> l2
        [1, 2, 3, 4, 6]
        >>> id(l)
        55201384
        >>> id(l2)
        55200984
      • reverse

        >>> l2
        [1, 2, 3, 4, 6]
        >>> l2.reverse()
        >>> l2
        [6, 4, 3, 2, 1]
      • reversed

        倒序之后返回新列表

        >>> l
        [1, 3, 2, 6, 4]
        >>> list(reversed(l))
        [4, 6, 2, 3, 1]
  • tuple

    • Create

    • Retrieve

      • 索引取值
      • index
      • 切片
    • Update

    • Delete

  • dict

    • Create

      • 键对值赋值
      • update

        提供合并字典的功能

        >>> d
        {'a': 1}
        >>> d2 = {"b":2, "c": 3}
        >>> d.update(d2)
        >>> d
        {'a': 1, 'b': 2, 'c': 3}
      • setdefault

        如果字典中没有当前key, 那么就设置默认值

        >>> d
        {'a': 1, 'b': 2, 'c': 3}
        >>> d.setdefault('b', 0)
        2
        >>> d.setdefault('d', 0)
        0
        >>> d
        {'a': 1, 'b': 2, 'c': 3, 'd': 0}
        
    • Retrieve

      • 键对值访问
      • get

        键对值访问缺失key会报错, 而get可以指定默认值

        >>> d['e']
        Traceback (most recent call last):
          File "<stdin>", line 1, in <module>
        KeyError: 'e'
        >>> d.get('f')
        >>> d.get('f', 0)
        0
      • keys()

        返回所有key

        d.keys()
      • values()

        返回所有value

        d.values()
      • items()

        返回所有键对值

        d.items()
    • Update

      • 键对值赋值

         d['a'] = 100
      • update

        >>> d.update({"b": 200, "c": 300})
        >>> d
        {'a': 100, 'b': 200, 'c': 300, 'd': 0}
    • Delete

      • pop(key)

        删除当前元素并返回value

      • popitem()

        对于人来说, 相当于随机返回一个item

      • clear()
  • set

    • Create

      • add
      • update
    • Retrieve

      • 运算符in

        >>> s
        {'a'}
        >>> "a" in s
        True
        
    • update

      • union

        合并两个set, 并返回一个新的set

    • delete

      • remove 和discard

        discard缺失元素时不会报错, 而remove会报错

        >>> s
        {'b', 'c', 'a'}
        >>> s.remove("a")
        >>> s
        {'b', 'c'}
        >>> s.discard("e")
        >>> s.remove("a")
        Traceback (most recent call last):
          File "<stdin>", line 1, in <module>
        KeyError: 'a'
        >>>
      • pop()

        当成无序删除并返回元素

Last modification:September 2, 2022
如果觉得我的文章对你有用,请随意赞赏