• Python基本数据类型之容器(列表、元组、集合、字典)


    Python基础数据类型可以用一张图表示,这里只讲列表、元组、集合、字典四种。

    1、列表

    dir()用来查询一个类或者对象所有属性,可以查列表支持的功能:

    1)创建列表:

    >>> a=[1,2,3,4,5,6]
    >>> a
    [1, 2, 3, 4, 5, 6]
    >>> type(a)
    <class 'list'>

    2)访问列表与切片:

    >>> print(a)
    [1, 2, 3, 4, 5, 6]
    >>> a[0]
    1
    >>> a[0:3]
    [1, 2, 3]
    >>> a[:-2]
    [1, 2, 3, 4]
    >>> a[0]=999
    >>> a
    [999, 2, 3, 4, 5, 6]

    3)更新列表

    直接加,把两个列表合并成一个。

    >>> b=['a', 'b','c']
    >>> b
    ['a', 'b', 'c']
    >>> c=a+b
    >>> c
    [999, 2, 3, 4, 5, 6, 'a', 'b', 'c']
    >>> a.append([11,22])
    >>> a
    [999, 2, 3, 4, 5, 6, [11, 22]]

    可见append()的参数被视为对象,将所有的参数视为一个列表元素插入到列表尾部。

    如果把两个列表连接为1个列表,可以使用extend。extend()会将传入的参数视为列表,并将该列表的每个元素一一逐个插入到原列表尾部。

    >>> a
    [999, 2, 3, 4, 5, 6]
    >>> a.extend(b)
    >>> a
    [999, 2, 3, 4, 5, 6, 'a', 'b', 'c']
    4)插入数据
    >>> a=[1,2,3,4]
    >>> a
    [1, 2, 3, 4]
    >>> a.insert(2,'a')
    >>> a
    [1, 2, 'a', 3, 4]
    >>> a.insert(2,['c',"hello"])
    >>> a
    [1, 2, ['c', 'hello'], 'a', 3, 4]

    2、元组

    元组和列表类似,但是元组的元素不能添加,不能删除,不能修改,只能查询。

    列表使用方括号,元组创建很简单,只需要在括号中添加元素,并使用逗号隔开即可。元组中只包含一个元素时,需要在元素后面添加逗号来消除歧义。

    >>> t=(1)
    >>> t
    1
    >>> type(t)
    <class 'int'>
    >>> t2=(1,)
    >>> t2
    (1,)
    >>> type(t2)
    <class 'tuple'>

    元组中的元素不能改变,但是可以组合元祖为新的元组。

    >>> a=(1,2)
    >>> b=('c','d')
    >>> c=a+b
    >>> c
    (1, 2, 'c', 'd')

    元组中的元素值是不允许删除的,但我们可以使用del语句来删除整个元组.

    >>> b
    ('c', 'd')
    >>> del b
    >>> b
    Traceback (most recent call last):
      File "<pyshell#197>", line 1, in <module>
        b
    NameError: name 'b' is not defined

    3、集合

    集合(set)是一个无序的不重复元素序列。集合是无序的存储结构,集合内的数据没有先后关系。可以使用大括号 { } 或者 set() 函数创建集合,注意:创建一个空集合必须用 set() 而不是 { },因为 { } 是用来创建一个空字典。

    >>> a={1,2}
    >>> a
    {1, 2}
    >>> type(a)
    <class 'set'>
    >>> b={}
    >>> type(b)
    <class 'dict'>

    将元素 x 添加到集合 a 中,如果元素已存在,则不进行任何操作。

    >>> a
    {1, 2}
    >>> a.add(1)
    >>> a
    {1, 2}

    集合支持交集、并集、补集、子集、超集计算。

    >>> a={1,2,3}
    >>> b={1,2,4,5}
    >>> a & b
    {1, 2}
    >>> a|b
    {1, 2, 3, 4, 5}
    >>> a-b
    {3}
    >>>
    >>> a
    {1, 2, 3}
    >>> c
    {1, 2}
    >>> c<a
    True
    >>> a>c
    True

    4、字典

    Python字典是另一种可变容器模型,且可存储任意类型对象。字典由键和其对应的值构成的键—值对组成,基本语法为:

    >>> d={'A':10, 'B':11}
    >>> d
    {'A': 10, 'B': 11}
    >>> type(d)
    <class 'dict'>

    字典的增删改查:

    >>> a
    {0: 1, 'b': 2, 'name': 'Jonh'}
    >>> a.pop(0)
    1
    >>> a
    {'b': 2, 'name': 'Jonh'}
    >>> a.pop("name")
    'Jonh'
    >>> a
    {'b': 2}

    字典的特点:

    1)key不能重复,否则第二个值覆盖第一个

    >>> d={1:1,1:2, 2:3, 3:4}
    >>> d
    {1: 2, 2: 3, 3: 4}

    2)key不可变,值可变。键可以用数、字符串、元组充当,但不能是列表。

    >>> a={[a]:1}
    Traceback (most recent call last):
      File "<pyshell#325>", line 1, in <module>
        a={[a]:1}
    TypeError: unhashable type: 'list'
    >>> a={"dfaf":1}
    >>> a
    >>> a={"dfaf":1}
    >>> a
    {'dfaf': 1}
    >>> b={(1):2}
    >>> b
    {1: 2}
    >>> type(b)
    <class 'dict'>
  • 相关阅读:
    GCD HDU
    Finding Lines UVALive
    Chinese Mahjong UVA
    DNA Evolution CodeForces
    String Reconstruction (并查集)
    Number Cutting Game HDU
    Paint the Wall ZOJ
    Star sky CodeForces
    Haunted Graveyard ZOJ
    GuGuFishtion HDU
  • 原文地址:https://www.cnblogs.com/pingwen/p/12634614.html
Copyright © 2020-2023  润新知