zoukankan      html  css  js  c++  java
  • Python 字典常用方法总结

    Python字典可存储任意类型对象,如字符串、数字、元组……  优点:取值方便,速度快

    1,创建字典

    字典由键(key)和对应值(value)成对组成。字典也被称作关联数组或哈希表。基本语法如下:

    dict = {'Alice': '2341', 'Beth': '9102', 'Cecil': '3258'}

    注意:
    每个键与值用冒号隔开(:),每对用逗号,每对用逗号分割,整体放在花括号中({})。
    键必须独一无二,但值则不必。
    值可以取任何数据类型,但必须是不可变的,如字符串,数组或元组。

    2,访问字典中的值

    print(d['key']) 如果写了不存在的值会报错

    print(d.get('key')) 如果写了不存在的值,返回None

    print(d.get('key','not find ')) 如果找不到存在的值,返回 “not find”

    print(d.keys())  #获取所有的key 值
    print(d.values()) #获取所有的value 值
    if 'key' in d: #判断key是否存在
    print('key')
    for k,v in d.items(): #遍历字典
    print(k,v)
    无须转换成list 格式,保留了字典原有的特性

    for k in dict:

    print(k,dict[k])
    print(k,dict.get(k)) 取值速度快,性能好
    
    

    3,修改字典

    d['key'] = value  key 存在即修改,key不存在即新增
    d.setdefault('key',value) 只能新增

    4,删除字典元素

    d.pop('key')  必须要传值,因为字典是无序的
    d.popitem() 随机删除一个
    del d['key']
    d.clear() 清空字典
    5,其他

    print(dict.items()) 输出一个list格式(非真正意义上的list)
    print(list(dict.items())) 把字典的key 和 value 转成一个多维list

     输出结果:

     
    len(dict):计算字典元素个数,即键的总数。
    str(dict):输出字典可打印的字符串。
    type(variable):返回输入的变量类型,如果变量是字典就返回字典类型。
    6,字典的键必须初始化
     
    如果视图访问一个字典中不存在的键,会导致一个keyerror。出行keyerror时,程序会由于运行时错误崩溃
    用“in ”检查成员关系
    if 'bananas' in fruits:
    fruits['bananas'] += 1
    else :
    fruits['bananas'] = 1
    查看“bananas”键是否在字典中,由于现在没有这个键,所以将它的值初始化为1,这样就能杜绝出行keyerror的可能性
    用“not in ”替换 “in”
    if 'bananas'  not in fruits:
    fruits['bananas'] += 0 #初始化,如果需要
    fruits['bananas'] += 1
    使用setdefault 方法
    for letter in word:
    if letter in vowels:
    found.setdefault(letter,0)
    found[letter] += 1
    setdefault 可以保证把一个不存在的键初始化为一个指定的默认值,或者什么也不做(也就是说,已有的键的关联值将保持不变)

    访问一个键之前,可以通过确保字典中的每个键都有一个关联值来避免keyerror。尽管这里in和not in 操作符可以提供帮助,不过更成熟的技术是使用setdault 方法
  • 相关阅读:
    Spring 3.0 发布候选版 3 已经可用!
    NetBeans IDE 6.8 正式版发布!
    250g铜版纸 打印扑克?
    一键安装python
    京东商城副总裁李曦:大数据和电子商务_行业信息化_IT商业新闻网
    9.29的北京-》杭州的票怎么现在网上还没有可以预订呢。。。
    运动服火鸟2代三叶草运动服SWIM CLUB 1976款游泳秋装男款海马淘宝网
    无锡巨人网络科技有限公司简介20120411
    李国庆送的国旗太小了,没动力买东西
    虽然不信god,但是技术上还是算是有信yan的人吧
  • 原文地址:https://www.cnblogs.com/chendai21/p/8137601.html
Copyright © 2011-2022 走看看