zoukankan      html  css  js  c++  java
  • python字典操作和内置方法

    一 字典基本介绍

    python中只有字典是映射结构,通过key取值,并且key是不可变数据类型,而value可以是任意数据类型。

    字典通过一个花括号,里面存放key:value的数据结构来定义。理论上讲,字典是无限大的。

    二 字典常用操作

    1 按key取值

    dic = {'name':'szz','age':18,'sex':'male')
    name = dic['name']
    print(name)
    # 输出结果为 'szz'

    2 计算字典的长度

    # len方法计算字典的长度
    dic = {'name':'szz','age':18,'sex':'male')
    len_of_dic = len(dic)
    print(len_of_dic)
    # 输出结果为 3

    3 字典删除操作

    d={'x':1,'y':2,'z':3}
    del d['y']
    print(d)
    # 输出结果为 {'x':1,'z':3}
    
    res=d.pop('y')
    print(d)
    print(res)
    pop有返回值
    
    res=d.popitem()
    print(res)
    # 输出结果为 ('z':3)

    4 key,value的操作

    # 得到字典中所有的键
    d = {'name':'szz','age':18,'sex':'male) print(d.keys()) print(list(d.keys())) # 输出结果为 ('name','age','sex) # ['name','age','sex']
    # 得到字典中所有的值,用for循环取值
    d={'x':1,'y':2,'z':3}
    v = d.values()
    for i in v:
        print(i)
    # 输出结果为 1 2 3
    d = {'name':'szz','age':18,'sex':'male','x':1,'y':2,'z':3)
    for k,v in d.items():
        print(k,v)
    # 输出结果为 'name' 'szz' 'age' 18 'sex' male 'x' 1 'y' 2 'z' 3
    # 如果直接对字典进行for循环,则默认循环字典的key

    5 get方法

    d={'name':'szz','age':18,'sex':'male','hobbies':[1,2,3]}
    v=d.get('name')
    print(v)
    # 当不确定字典中是否存在某一个键值时,使用get方法更安全

    6 update方法

    # update 有新键值对的话会添加进字典,有相同的key则会覆盖旧值
    d={'name':'szz','age':18,'sex':'male','hobbies':['read','movie']}
    d1={'age':22,'addr':'shanghai'}
    d.update(d1)
    # 直接在d的基础上改变

    7 fromkeys

    # 给定一个一直列表,用该列表中的值当做key初始化一个字典
    keys=['name','age','sex']
    d={}
    for k in keys:
        d[k]=Noned={}.fromkeys(keys,None)
    print(d)
    # 输出结果为 {'name':None,'age':None,'sex':None}

    8 setdefault

    # key存在则修改,不存在则添加
    d={"x":1,"y":2}
    res=d.setdefault('x',11111) # 在key存在的情况下不修改值,会返回原值print(d)
    print(res)
    # 输出结果 {'x':1,'y':2}
    # 输出结果 1
    
    res=d.setdefault('z',11111) # 在key不存在的情况下会新增值,会返回新增# 的值
    print(d)
    print(res)
    # 输出结果 {'x':1,'y':2','z':11111)
    # 输出结果 11111

    9 setdefault使用场景

    s='hello world world say hello  hello'
    d={'hello':4,'word':2,'say':1}
    
    d={}
    words=s.split()
    # print(words) 
    for word in words: 
        d[word]=words.count(word) 
        d.setdefault(word,words.count(word))
    
    print(d)
    # 输出结果为 {'hello':4,'word':2,'say':1}
  • 相关阅读:
    Android:JNI与NDK(一)
    okio:定义简短高效
    hashCode()方法以及集合中Set的一些总结
    Gradle入门到实战(二) — ImageOptimization安卓图片转换压缩插件
    Gradle入门到实战(一) — 全面了解Gradle
    数据结构与算法(十二):八大经典排序算法再回顾
    数据结构与算法(十一):图的基础以及遍历代码实现
    数据结构与算法(十):红黑树与TreeMap详细解析
    数据结构与算法(九):AVL树详细讲解
    Android版数据结构与算法(八):二叉排序树
  • 原文地址:https://www.cnblogs.com/zuanzuan/p/9671150.html
Copyright © 2011-2022 走看看