当前位置: 首页 > 编程笔记 >

Python的“二维”字典 (two-dimension dictionary)定义与实现方法

於宾白
2023-03-14
本文向大家介绍Python的“二维”字典 (two-dimension dictionary)定义与实现方法,包括了Python的“二维”字典 (two-dimension dictionary)定义与实现方法的使用技巧和注意事项,需要的朋友参考一下

本文实例讲述了Python的“二维”字典 (two-dimension dictionary)定义与实现方法。分享给大家供大家参考,具体如下:

Python 中的dict可以实现迅速查找。那么有没有像数组有二维数组一样,有二维的字典呢?比如我需要对两个关键词进行查找的时候。2D dict 可以通过

dict_2d = {'a': {'a': 1, 'b': 3}, 'b': {'a': 6}}

来建立,并通过

dict_2d['a']['b']

来访问。但是添加一个新的 “key-value”对却比较复杂。对一维字典,可以用

dict_1d = dict()
dict_1d['a'] = 1

或者

dict_1d.update({'a': 1})

来实现。但是”2-D” dictionary 新添一个”key-value”对时,不能简单的用

dict_2d['a']['c'] = 8

的形式。因为二维字典的两层key和value之间会混淆,需要判断第一个key是否已经存在了。添加二维的字典可以通过一个函数来简单实现:

def addtwodimdict(thedict, key_a, key_b, val):
  if key_a in adic:
    thedict[key_a].update({key_b: val})
  else:
    thedict.update({key_a:{key_b: val}})

比如可以用作查找城市之间的距离

mapdict = dict()
addtwodimdict(mapdict, 'Beijing', 'Guangzhou', 1897)
addtwodimdict(mapdict, 'Chengdu', 'Guangzhou', 1243)
addtwodimdict(mapdict, 'Guangzhou', 'Shanghai', 1212)
addtwodimdict(mapdict, 'Beijing', 'Chengdu', 1516)
addtwodimdict(mapdict, 'Chengdu', 'Shanghai', 1657)
addtwodimdict(mapdict, 'Beijing', 'Shanghai', 1075)
print 'The distance between Chengdu and Guangzhou is ',mapdict['Chengdu']['Guangzhou']

还是挺方便的。

更多关于Python相关内容感兴趣的读者可查看本站专题:《Python字典操作技巧汇总》、《Python Socket编程技巧总结》、《Python函数使用技巧总结》、《Python字符串操作技巧汇总》、《Python入门与进阶经典教程》及《Python文件与目录操作技巧汇总》

希望本文所述对大家Python程序设计有所帮助。

 类似资料:
  • 本文向大家介绍PHP字典树(Trie树)定义与实现方法示例,包括了PHP字典树(Trie树)定义与实现方法示例的使用技巧和注意事项,需要的朋友参考一下 本文实例讲述了PHP字典树(Trie树)定义与实现方法。分享给大家供大家参考,具体如下: Trie树的概念(百度的解释):字典树又称单词查找树,Trie树,是一种树形结构,是一种哈希树的变种。典型应用是用于统计,排序和保存大量的字符串(但不仅限于字

  • 本文向大家介绍Python实现合并字典的方法,包括了Python实现合并字典的方法的使用技巧和注意事项,需要的朋友参考一下 本文实例讲述了Python实现合并字典的方法。分享给大家供大家参考。具体实现方法如下: 希望本文所述对大家的Python程序设计有所帮助。

  • 本文向大家介绍python实现给字典添加条目的方法,包括了python实现给字典添加条目的方法的使用技巧和注意事项,需要的朋友参考一下 本文实例讲述了python实现给字典添加条目的方法,是针对字典操作中比较实用的技巧。分享给大家供大家参考。 具体实现方法如下: 本文测试环境为Python2.7.6 程序运行结果如下: 希望本文所述对大家Python程序设计的学习有所帮助。

  • 问题内容: 我想知道python字典如何在后台运行,尤其是动态方面?创建字典时,其初始大小是多少?如果我们用很多元素更新它,我想我们需要扩大哈希表。我想我们需要重新计算散列函数以适应新的更大的散列表的大小,同时又与先前的散列表保持某种逻辑? 如您所见,我不完全了解此结构的内部。 问题答案: (部分)以下答案来自“ 升级Python技能”:检查字典。有关Python哈希表的更多信息,请参见The H

  • 本文向大家介绍Python numpy实现二维数组和一维数组拼接的方法,包括了Python numpy实现二维数组和一维数组拼接的方法的使用技巧和注意事项,需要的朋友参考一下 撰写时间:2017.5.23 一维数组 1.numpy初始化一维数组 输出的值应该为(3,) 二维数组 2.numpy初始化二维数组 注意(3,)和(3,1)的数组是不一样的,前者是一维数组,后者是二维数组。 拼接 3.nu

  • 问题内容: 所以我有一个字典,打印时看起来像这样: 我想以我定义的自定义方式对它们进行排序。假设我希望按键排序的方式是。 有人知道如何以预定义/自定义的方式整理字典吗?我正在做的是从数据库中获取此词典,它可以带有20多个键,所有键都有特定的顺序。总是设置顺序,但有时某些键/值不会出现在字典中。所以这也可能发生: (按键排序)为。 因此,在此示例中不存在10,但是我需要的排序仍然相同,仅缺少10。

  • 本文向大家介绍PHP完全二叉树定义与实现方法示例,包括了PHP完全二叉树定义与实现方法示例的使用技巧和注意事项,需要的朋友参考一下 本文实例讲述了PHP完全二叉树定义与实现方法。分享给大家供大家参考,具体如下: 若设二叉树的深度为h,除第 h 层外,其它各层 (1~h-1) 的结点数都达到最大个数,第 h 层所有的结点都连续集中在最左边,这就是完全二叉树。 PHP代码实现(暂时实现添加节点、层次遍

  • 本文向大家介绍Python中实现两个字典(dict)合并的方法,包括了Python中实现两个字典(dict)合并的方法的使用技巧和注意事项,需要的朋友参考一下 本文实例讲述了Python中实现两个字典(dict)合并的方法,分享给大家供大家参考。具体方法如下: 现有两个字典dict如下: 合并两个字典得到类似: 方法1: 方法2: 方法2等同于: 或者: 方法2比方法1速度快很多,用timeit测