热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

python怎么查数据类型,Python:如何检查对象的keyvalue对的数据类型?

一个明显的例子是XYproblem。。。在你真正的问题是错误的数据结构,以同样的方式存储异构信息(学生的姓名和标记)。RightSolution(tm)是使用更好的数

一个明显的例子是XY problem。。。在

你真正的问题是错误的数据结构,以同样的方式存储异构信息(学生的姓名和标记)。RightSolution(tm)是使用更好的数据结构,即:student1 = {

"personal_infos" : {

"name": "Lloyd",

},

"marks": {

"homework": [90, 97, 75, 92],

"quiz": [88, 40, 94],

"test": [75, 90]

},

"totals": {}

"averages": {}

}

}

一旦有了这个,就不必测试是否有字符串或num作为值:

^{pr2}$

请注意,您可以用不同的方式布局数据,即每个主题:student1 = {

"personal_infos" : {

"name": "Lloyd",

},

"subjects": {

"homework": {

"marks" : [90, 97, 75, 92],

"total" : None,

"average" : None

},

"quiz": {

"marks" : [88, 40, 94],

"total" : None,

"average" : None

},

"test": {

"marks" : [75, 90],

"total" : None,

"average" : None

},

},

}

def eachSubjAverage(student):

for subject, data in student["subjects"].items():

total = sum(data["marks"]) #totalling each marks

data["total"] = total

average = total / (len(data["marks"]))

data["average"] = average

请注意,如果您无法选择修复数据结构(外部数据或其他),则您仍然不希望依赖类型检查(这充其量是脆弱的)-您希望测试密钥本身,方法是将主题名称白名单或将“非主题”名称列入黑名单,即:# blacklist non-subjects

NON_SUBJECTS = ("name",)

def your_func(student):

for key, value in student.items():

if key in NON_SUBJECTS:

continue

compute_stuff_here()

哦,是的:把总分和平均分加在分数表上也是一个很好的方法,一旦你做到了,你就不能告诉她最后两个“分数”是分数还是(总分,平均分)。在



推荐阅读
  • 社交网络中的级联行为 ... [详细]
  • Python第三方库安装的多种途径及注意事项
    本文详细介绍了Python第三方库的几种常见安装方法,包括使用pip命令、集成开发环境(如Anaconda)以及手动文件安装,并提供了每种方法的具体操作步骤和适用场景。 ... [详细]
  • 对象自省自省在计算机编程领域里,是指在运行时判断一个对象的类型和能力。dir能够返回一个列表,列举了一个对象所拥有的属性和方法。my_list[ ... [详细]
  • 反向投影技术主要用于在大型输入图像中定位特定的小型模板图像。通过直方图对比,它能够识别出最匹配的区域或点,从而确定模板图像在输入图像中的位置。 ... [详细]
  • Python处理Word文档的高效技巧
    本文详细介绍了如何使用Python处理Word文档,涵盖从基础操作到高级功能的各种技巧。我们将探讨如何生成文档、定义样式、提取表格数据以及处理超链接和图片等内容。 ... [详细]
  • 本文详细介绍了Python中的可迭代对象、迭代器和生成器的概念及实现方式。通过实例代码展示如何创建和使用这些对象,帮助读者更好地理解和掌握其原理。 ... [详细]
  • 在本教程中,我们将深入探讨如何使用 Python 构建游戏的主程序模块。通过逐步实现各个关键组件,最终完成一个功能完善的游戏界面。 ... [详细]
  • 利用决策树预测NBA比赛胜负的Python数据挖掘实践
    本文通过使用2013-14赛季NBA赛程与结果数据集以及2013年NBA排名数据,结合《Python数据挖掘入门与实践》一书中的方法,展示如何应用决策树算法进行比赛胜负预测。我们将详细讲解数据预处理、特征工程及模型评估等关键步骤。 ... [详细]
  • Python 内存管理机制详解
    本文深入探讨了Python的内存管理机制,涵盖了垃圾回收、引用计数和内存池机制。通过具体示例和专业解释,帮助读者理解Python如何高效地管理和释放内存资源。 ... [详细]
  • 2018-2019学年第六周《Java数据结构与算法》学习总结
    本文总结了2018-2019学年第六周在《Java数据结构与算法》课程中的学习内容,重点介绍了非线性数据结构——树的相关知识及其应用。 ... [详细]
  • Coursera ML 机器学习
    2019独角兽企业重金招聘Python工程师标准线性回归算法计算过程CostFunction梯度下降算法多变量回归![选择特征](https:static.oschina.n ... [详细]
  • 深入解析Java枚举及其高级特性
    本文详细介绍了Java枚举的概念、语法、使用规则和应用场景,并探讨了其在实际编程中的高级应用。所有相关内容已收录于GitHub仓库[JavaLearningmanual](https://github.com/Ziphtracks/JavaLearningmanual),欢迎Star并持续关注。 ... [详细]
  • 在 Android 开发中,通过 Intent 启动 Activity 或 Service 时,可以使用 putExtra 方法传递数据。接收方可以通过 getIntent().getExtras() 获取这些数据。本文将介绍如何使用 RoboGuice 框架简化这一过程,特别是 @InjectExtra 注解的使用。 ... [详细]
  • LeetCode 690:计算员工的重要性评分
    在解决LeetCode第690题时,我记录了详细的解题思路和方法。该问题要求根据员工的ID计算其重要性评分,包括直接和间接下属的重要性。本文将深入探讨如何使用哈希表(Map)来高效地实现这一目标。 ... [详细]
  • 本文详细介绍了 Java 中 org.geotools.data.shapefile.ShapefileDataStore 类的 getCurrentTypeName() 方法,并提供了多个代码示例,帮助开发者更好地理解和使用该方法。 ... [详细]
author-avatar
张淑男尧珊肇玲
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有