Python中按键来获取指定的值
Python中按键来获取值,相对来说要容易些,毕竟只需要dict[key]
就可以找到,但里面同样有个问题,如果其中的键不存在的话,会抛出异常,如果不用try...except...
等异常处理机制的话,程序就会中断!这里提供两种很安全,很健壮的处理方法。
方式一: dict[key] + 判断
>>> dct = {'Name': 'Alice', 'Age': 18, 'uid': 1001, 'id': 1001} >>> def get_value1(dct, key): ... return dct[key] if key in dct else 'Key Not Exist!' >>> get_value1(dct, "uid") 1001 >>> get_value1(dct, "UID") 'Key Not Exist!'
方式二:dct.get(key, "如果键不存在的显示提示信息!")
>>> dct = {'Name': 'Alice', 'Age': 18, 'uid': 1001, 'id': 1001} >>> def get_value2(dct, key): ... return dct.get(key, "Key Not Exist!") >>> get_value2(dct, "uid") 1001 >>> get_value2(dct, "UID") 'Key Not Exist!'
总结
以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作具有一定的参考学习价值,谢谢大家对我们的支持。如果你想了解更多相关内容请查看下面相关链接
相关推荐
-
Python中三元表达式的几种写法介绍
要介绍Python的三元表达式,可以先看看其他编程语言比如C,JAVA中应用: public class java { public static void main(String[] args){ int x = 100; int y = 101; int MAX = (x > y)? x: y; System.out.println("MAX:" + MAX); } } 上面的例子可以很好的说明了其他语言的格式: 判段的条件 ? 条件为真时的结果:条件为假时的结果 而在Pyt
-
Python生成器的使用方法和示例代码
本文是<Effect Python 编写高质量Python代码的59个有效方法>的学习笔记.主要记录生成器的使用方法和示例代码. 返回队列的函数 如果函数要产生一系列结果,那么最简单的做法就是把这些结构都放在一份列表里,然后将其返回给调用者. def index_words(text): """用append方法将这些此的首字母索引添加到result列表中,并在函数结束时将其返回给调用者.""" result = [] if text
-
Python按钮的响应事件详解
import sys from PyQt5 import QtWidgets from PyQt5.QtWidgets import QMainWindow from test import Ui_MainWindow from PyQt5.QtWidgets import QFileDialog class MyPyQT_Form(QMainWindow, Ui_MainWindow): def __init__(self): super(MyPyQT_Form, self).__init__
-
Python去除字符串前后空格的几种方法
其实如果要去除字符串前后的空格很简单,那就是用strip(),简单方便 >>> ' A BC '.strip() 'A BC' 如果不允许用strip()的方法,也是可以用正则匹配的方法来处理. >>> s1 = ' A BC' >>> s2 = 'A BC ' >>> s3 = ' A BC ' >>> s4 = 'A BC' >>> def trim(s): ... import re ...
-
Python之lambda匿名函数及map和filter的用法
现有两个元组(('a'),('b')),(('c'),('d')),请使用python中匿名函数生成列表[{'a':'c'},{'b':'d'}] t1 = (('a'), ('c')) t2 = (('b'), ('d')) print(list(map(lambda t: {t[0]: t[1]}, zip(t1, t2)))) l = lambda t1, t2: [{i: j} for i, j in zip(t1, t2)] print(l(t1, t2)) map内置函数使用: ma
-
Python中按值来获取指定的键
Python字典中的键是唯一的,但不同的键可以对应同样的值,比如说uid,可以是1001.id同样可以是1001.这样的话通过值来获取指定的键,就不止一个!而且也并不太好处理.这里同样提供两种思路来处理. 方法一: >>> dct = {'Name': 'Alice', 'Age': 18, 'uid': 1001, 'id': 1001} >>> def get_key1(dct, value): ... return list(filter(lambda k:dct
-
Python中的random.uniform()函数教程与实例解析
random.uniform( ) 函数教程与实例解析 1. uniform( ) 函数说明 random.uniform(x, y)方法将随机生成一个实数,它在 [x,y] 范围内. 2. uniform( ) 的语法与参数 2.1 语法 # _*_ coding: utf-8 _*_ import random random.uniform(x, y) 或 # _*_ coding: utf-8 _*_ from random import uniform uniform(x, y) 提示:
-
Python字符串通过'+'和join函数拼接新字符串的性能测试比较
有一道Python面试题, 以下代码有什么局限性,要如何修改 def strTest(num): s = 'Hello' for i in range(num): s += 'x' return s 上面的代码其实可以看出:由于变量str是不变对象,每次遍历,Python都会生成新的str对象来存储新的字符串,所以num越大,创建的str对象就越多,内存消耗约大,速度越慢,性能越差. 如果要改变上面的问题,可以变字符串拼接为join联合的方式,代码如下: def strTest2(num): s
-
Python小进度条显示代码
有的时候程序需要有进度条显示,比如说安装程序.下载文件等场合. 下面有一段小程序可达到效果 程序代码 import time for i in range(0, 101, 2): time.sleep(0.3) num = i // 2 if i == 100: process = "\r[%3s%%]: |%-50s|\n" % (i, '|' * num) else: process = "\r[%3s%%]: |%-50s|" % (i, '|' * num)
-
Python两个字典键同值相加的几种方法
两个字典A = {'a': 1, 'b': 2, 'c': 3}, B = {'b': 4, 'c': 6, 'd': 8} 要合并这两个字典,键值同则相加. 两个字典如果不考虑键相同则相加的话,可以使用d1.update(d2)可以很方便合并,但这样的后面的字典到中的值会覆盖字典d1中的值. >>> A = {'a': 1, 'b': 2} >>> B = {'a': 8, 'c': 3} >>> A.update(B) >>> A
随机推荐
- 十个新年banner,祝大家新年快乐!
- 如何让Win2000系统达到最佳性能
- PHP正则表达式的效率 回溯与固化分组
- js中页面的重新加载(当前页面/上级页面)及frame或iframe元素引用介绍
- Android动态添加View的问题解决方法
- PHP实现抓取Google IP并自动修改hosts文件
- php内嵌函数用法实例
- javascript 实现页面加载进度条代码
- Laravel框架学习笔记(一)环境搭建
- jquery 字符串切割函数substring的用法说明
- Windows服务器的基础安全加固方法(2008、2012)
- java中break和continue区别及使用场合分析
- 详解vue中点击空白处隐藏div的实现(用指令实现)
- Python视频爬虫实现下载头条视频功能示例
- 浅谈Vuex注入Vue生命周期的过程
- mysql 循环批量插入的实例代码详解
- Docker部署Tomcat及Web应用的实现
- 深入解析ES6中的promise
- python使用xlsxwriter实现有向无环图到Excel的转换
- Python基于opencv调用摄像头获取个人图片的实现方法