美文网首页Python
Python第八天

Python第八天

作者: zplus_ | 来源:发表于2018-12-05 18:26 被阅读0次

    一、元组tuple

    1、元组不可以修改,其切片只能用来访问,而不能修改

    2、生成只有一个元素的元组,一定要在数据后面加逗号,如(3,)

    3、元组和整数、字符串一样可以作为字典的key,而列表不可以

    4、生成器推导式:形式上生成器推导式是(),而列表生成器是[]

    生成器推导式的结果是生成器对象,而不是列表、元组使用的时候可以用tuple()、list()转化

    5、使用生成器对象_ _next_ _()方法或者内置函数next()进行遍历

    或者将其当作迭代器对象使用

    6、当生成器对象所有元素都访问结束后,如需重新访问某个元素,必须重新构建该生成器对象

    >>> g= (i*i for i in range(10))

    >>> g

    <generator object <genexpr> at 0x036AE630>

    >>> g.__next__()

    0

    >>> g.__next__()

    1

    >>> next(g)

    4

    >>> next(g)

    9

    二、字典

    1、无序可变序列,其键和值表示一种映射或对应关系

    2、 其键和值用冒号分开,不同元素之间用逗号分隔

    3、字典的键可以是任意不可变数据,字典的键不可以重复

    4、可以使用zip()来构建一个元组的列表,再使用dict转化成字典

    >>> keys=['a','b','c','d']

    >>> values=[1,2,4,8]

    >>> zp=dict(zip(keys,values))

    >>> zp

    {'a': 1, 'b': 2, 'c': 4, 'd': 8}

    5、或者直接使用dict()根据“键:值”来创建字典

    !!!此时键无需加引号,默认str

    >>> d=dict(name="zzz",age=16)

    >>> d

    {'name': 'zzz', 'age': 16}

    6、my_dict['key']=a  //即可以作为修改元素值(优先),又可用作添加新元素

    7、update()将参数键值一次性添加到字典对象中

    adict=update(bdict)

    若存在相同的键,则使用bdict的值

    8、删除字典元素,adict.pop("key")

    9、clear()清除字典所有元素

    copy()返回字典的浅拷贝

    10、访问字典对象时,若不存在键,则返回异常

    两种解决方案

    第一种:

    >>> d=dict(name="zzz",age=16)

    >>> d

    {'name': 'zzz', 'age': 16}

    >>> if 'name' in d:                  //判断键是不是在字典

    print(d['name'])

    else:

    print("No Exist")

    第二种:

    >>> try:

        print(d['address'])

    except:

        print("No Exist")

    11、查找更加简单的是:

    dict.get("age",'NOT EXIST')方法 假如找不到,就返回第二个参数

    dict.setdefault("key","value") 假如找不到,就将键和值插入,并返回

    12、当对字典进行迭代时,默认是遍历的键

    字典的items()对象返回的是字典的元素,即键值对

    字典的keys()对象返回的是字典的键

    字典的values()对象返回的是字典的值

    相关文章

      网友评论

        本文标题:Python第八天

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