Task 3

作者: delugezhang | 来源:发表于2019-08-09 10:07 被阅读0次

    1. dict字典

    1.1 定义

         字典:dict,全称dictionary,是python的一种数据类型,使用建-值(key-value)存储,具有极快的查找速度。假设要根据学生的名字查找成绩,如果用list的话需要两个列表:

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

    >>> names = ['Tom', 'Jim', 'Bob']

    >>> scores = [95, 100, 90]

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

         给定一个名字,要查询对应的成绩,需要先在names中找到对应的位置,再从score中取出相应的成绩,list越长,耗时越长,且需确保names和scores一一对应。

         如果用dict实现,则只需一个“名字”—“成绩”的对照表,直接根据名字查找成绩,无论这个表有多大,查找速度都不会变慢,并且不容易出错。

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

    >>> d = {'Tom':95, 'Jim':100, 'Bob':90}

    >>> d['Tom']

    95

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

    1.2 创建

    dict用大括号('{ }')创建,key和value间用冒号(':')连接。 d = {'Tom':95, 'Jim':100, 'Bob':90}

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

    1.3 字典的方法

    1. 修改key的value

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

    >>> d = {'Tom':95, 'Jim':100, 'Bob':90}

    >>> d['Bob'] = 93

    >>> d['Bob']

    93

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

    2. 添加新的key和value:

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

    >>> d = {'Tom':95, 'Jim':100, 'Bob':90}

    >>> d['Adam'] = 85

    >>> d

    {'Tom': 95, 'Jim': 100, 'Bob': 93, 'Adam': 85}

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

    3. 删除一个key:用pop(key)方法,对应的value也会从dict中删除。

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

    >>> d

    {'Tom': 95, 'Jim': 100, 'Bob': 93, 'Adam': 85}

    >>> d.pop('Bob')

    93

    >>> d

    {'Tom': 95, 'Jim': 100, 'Adam': 85}

    >>>

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

         也可以用del将字典中的key-value对删除。使用del时,必须指定字典的名字和要删除的键。

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

    >>> d = {'Tom':95, 'Jim':100, 'Bob':90}

    >>> del d['Tom']

    >>> d

    {'Jim': 100, 'Bob': 90}

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

    4. 遍历字典

         items()可以返回一个key—value对中的key和value:

         keys()可以返回一个key—value对中的key:

         values()可以返回一个key—value对中的value:

    2. 集合set

    2.1 特性

         set和dict类似,也是一组key的集合,但不存储value。由于key不能重复,所以在set中,没有重复的key。

    2.2 创建

        用小括号(‘( )’)创建set,创建一个set,需要提供一个list作为输入集合,不用list的话会报错。重复的元素在set中会自动被过滤。

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

    >>> s = set([1, 1, 2, 3, 4])

    >>> s

    {1, 2, 3, 4}

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

    2.3 方法

    1. 添加元素:add(key)

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

    >>> s = set(['Tom', 'Jerry', 'Jim'])

    >>> s.add('Bob')

    >>> s

    {'Jim', 'Tom', 'Bob', 'Jerry'}

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

    2. 删除元素:remove(key)

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

    >>> s = set(['Tom', 'Jerry', 'Jim'])

    >>> s.remove('Tom')

    >>> s

    {'Jim', 'Jerry'}

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

    3. set可以看成数学上的无序、无重复元素的集合,因此,两个set可以做数学意义上的交集、并集等操作。

    4. set和dict的唯一区别在于没有存储对应的value,但是set与dict一样,都不能放入可变对象,因为无法判断两个可变对象是否相等。

    3. 判断语句(要求掌握多条件判断)

         判读语句的使用如下:

    if <条件判断1>:

                <执行1>

    elif <条件判断2>:

                <执行2>

    elif <条件判断3>:

                <执行3>

    else:

                <执行4>

    4. 三目表达式

    三目表达式的语法如下:

    (判断语句为真是输出的内容) if (判断语句) else (判断语句为假时输出的内容)

    三目运算支持嵌套:

    5. 循环语句

    1. for...in 循环:依次把list或tuple中的元素迭代出来。如下面这段代码可以依次打印出names中的名字。

    因此,for  x  in ... 就是把list或tuple中的各元素依次代入变量x。

    2. while循环:只要满足条件就一直循环,条件不满足时退出循环。如计算100以内所有奇数的和,就可以用while循环实现。

    相关文章

      网友评论

          本文标题:Task 3

          本文链接:https://www.haomeiwen.com/subject/utbqjctx.html