• Python数据类型-字典


    字典(dict)
    字典是key:value形式的一种表达形式,例如在Java中有map,JavaScript中的json,Redis中的hash等等这些形式。字典可以存储任意的对象,也可以是不同的数据类型。
    1、字典的定义
    A = dict(a=1, b=2)
    A = {"name":"yangjian"}
    A = dict([("name","yangjian"),("age",18)])

    2、字典常用的方法

    get(k)    # 返回key所对应的value
    setdefault(k,v)     # 如果k不存在,设置一个默认值v;如果k存在,返回k所对应的v
    
    keys()                  # 获得所有的keys
    values()               # 获得所有的values
    iteritems()            #  生成一个对象,每循环一次生成一个k:v   for i j in d.iteritems():print(i,j)   Python才有这个方法,Python3为items()
    update()               # m.update(n),其中m,n都是字典
    pop(k)                  # 删除k:v对应的元素
    copy()                  # 复制
    
    zip(l1,l2)              # 高阶函数,dict(zip(l1,l2)),把l1和l2转换成字典,其中l1,l2是列表

    例子:

    x = {"name":"yangjian","age":18}
    print(x.get("name"))
    # yangjian
    
    print(x.get("name1","hello"))   # name1并不存在,所以要给一个默认值
    # hello
    
    print(x.keys())
    # dict_keys(['name', 'age'])
    
    print(x.values())
    # dict_values(['yangjian', 18])
    
    print(x.items())  # 字典变成列表,列表里面是元组
    # dict_items([('name', 'yangjian'), ('age', 18)])
    
    y = x.copy()
    print(y)
    # {'name': 'yangjian', 'age': 18}
    
    l1 = ["a","b","c"]
    l2 = ["1","2","3"]
    print(dict(zip(l1,l2)))
    # {'a': '1', 'b': '2', 'c': '3'}

    强制类型转换

    str()
    int()
    list()
    dict()
    tuple()

    例子:

    # 把列表l1强制转换成元组
    l1 = ["a","b","c"]
    print(tuple(l1))
    ('a', 'b', 'c')
    xrange()和range()
    在python3里面xrange()默认就是range()
    for  i in range(0,3):
        print(i)
    # 结果如下
    0
    1
    2
    raw_input()和input()
    在python3中已经没有raw_input(),默认只有input()
    try:
        name = raw_input("Please input your name:")
    except Exception as e:
        name = input("Please input your name:")
    finally:
        print("hello {0}".format(name))
    len()
    查看字典长度
    d = {"name":"yangjian","age":18}
    print(len(d))
    # 2
    type()
    查看对象的类型
    print(type(d))
    # <class 'dict'>
    isinstance()
    判断一个对象是否是一个已知的类型
    a = 2
    print(isinstance(a,int))
    # True
    enumerate()
    对于一个可迭代的对象(如列表、字符串),enumerate将其组成一个索引序列,利用它可以同时获得索引和值。
    l1 = [1,2,3,4,5]
    print(enumerate(l1))
    for i in enumerate(l1):
        print(i)
    # 结果如下
    <enumerate object at 0x0000000002138708>
    (0, 1)
    (1, 2)
    (2, 3)
    (3, 4)
    (4, 5)
    hasattr()
    判断一个对象是否有某个属性
    L = ["a","b","a"]
    print(hasattr(L,"append"))
    # True
  • 相关阅读:
    Android获取屏幕分辨率及DisplayMetrics简介(轉)
    程序员技术练级攻略
    CSDN精选iPhone开发博客
    Java中访问权限修饰符public protected 缺省默认 private的用法总结(转)
    Java中abstract class 和 interface 的解释和他们的异同点(转)
    Code Project精彩系列(转)
    java中重载与重写的区别
    HDU 1024 Max Sum Plus Plus(动态规划,给定一个数组,求其分成m个不相交子段和最大值的问题)
    Triple ACM HDU 3908 (数学题,找多少种组合)
    ACM POJ 1015 Jury Compromise(陪审团的人选,动态规划题,难)
  • 原文地址:https://www.cnblogs.com/yangjian319/p/8686375.html
Copyright © 2020-2023  润新知