Loading [MathJax]/jax/output/CommonHTML/config.js
前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >专栏 >python dict常用

python dict常用

作者头像
bear_fish
发布于 2018-09-14 01:47:18
发布于 2018-09-14 01:47:18
58400
代码可运行
举报
运行总次数:0
代码可运行

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://cloud.tencent.com/developer/article/1338335

本文主要是python中dict常用的方法:

  1. list 转化为 dict
  2. dict遍历删除指定条件的元素
  3. dict安装key或者value排序
  4. dict的value统计计数

两个list转化为dict

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
def lst_2_dict():
    """
    combine two list to dict
    :return:
    """
    lst1 = ['a', 'b', 'c']
    lst2 = [1, 2, 3]
    # d = {k: v for k, v in zip(lst1, lst2)}
    d = dict(zip(lst1, lst2))
    print d
    # {'a': 1, 'c': 3, 'b': 2}

删除dict中value < 0 的元素

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
def iter_dict_remove():
    """remove item in dict while iteration it"""
    d_info = {'aa': -1, 'bb': 0, 'cc': 1, 'dd': 2}

    for k in d_info.keys():
        print k, d_info[k]
        if d_info[k] < 0:
            del d_info[k]

    print 'after del', d_info 

按照key的顺序变量dict

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
def iter_dic_sort():
    """iter dict by sorted keys"""
    d_info = {'33': 33, '88': 88, '22': 22, '44': 44}
    for k in sorted(d_info):
        print k, d_info[k]

安装key或者value对dict排序:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
def dict_sort_by_value():
    dic_num = {'first': 11, 'second': 2, 'third': 33, 'Fourth': 4}

    # print all the keys
    print dic_num.keys()
    print list(dic_num)
    # ['second', 'Fourth', 'third', 'first']

    # print all the sorted keys
    print sorted(dic_num)
    # ['Fourth', 'first', 'second', 'third']

    print sorted(dic_num, key=str.lower)
    # ['first', 'Fourth', 'second', 'third']

    # print sorted values
    print sorted(dic_num.values())
    # [2, 4, 11, 33]

    # sorted by value
    sorted_val = sorted(dic_num.items(), key=operator.itemgetter(1))
    # [('second', 2), ('Fourth', 4), ('first', 11), ('third', 33)]
    print sorted_val

    # sorted by key
    sorted_key = sorted(dic_num.items(), key=operator.itemgetter(0))
    print sorted_key
    # [('Fourth', 4), ('first', 11), ('second', 2), ('third', 33)]

    dic_k_lst = {'11': [1, 2], 'ab': [3], 'cd': [0, -1, 2]}
    # Sort a dictionary by length of the value
    print sorted(dic_k_lst.items(), key=lambda item: len(item[1]))
    # [('ab', [3]), ('11', [1, 2]), ('cd', [0, -1, 2])]

    dic_k_set = {'11': {1, 2}, 'ab': {3}, 'cd': {0, -1, 2}}
    # Sort a dictionary by length of the value
    d_val_len = sorted(dic_k_set.items(), key=lambda item: len(item[1]))
    print d_val_len
    # [('ab', set([3])), ('11', set([1, 2])), ('cd', set([0, 2, -1]))]
    print d_val_len[0][1]
    # set([3])
    print len(d_val_len[0][1])
    # 1 (长度为 1)

对dict的value计数:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
def dic_count_value():
    from collections import Counter
    dic_k_lst = {'11': None, 'ab': 3, 'name': 'xy', 'none': None, 'age': 26}
    print Counter(dic_k_lst.values())
    # Counter({None: 2, 'xy': 1, 26: 1, 3: 1})

    # 统计none与非none的数量
    count_none = 0
    count_not_none = 0
    for k in dic_k_lst.keys():
        if dic_k_lst[k] is None:
            count_none += 1
        else:
            count_not_none += 1

    print count_none, count_not_none
    # 2 3

统计dict中每个list的长度:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
def count_val_lst_len():
    d = {'T1': ['eggs', 'bacon', 'sausage'], 'T2': ['spam', 'ham', 'monty', 'python']}
    print map(len, d.values())
    # [4, 3]
    print sum(map(len, d.values()))
    # 7

dict value求和:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
def sum_dic_val():
    d_info = {'33': 1, '88': 2, '22': 3, '44': 4}
    print sum(d_info.values())
    # 10
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
def dic_probability():
    p = {1: {1: 0.1, 2: 0.3}, 2: {1: 0.1, 2: 0.3}}
    # {1: {1: 0.1, 2: 0.3}, 2: {1: 0.1, 2: 0.3}}
    print p[2], p[2][2]
    # {1: 0.1, 2: 0.3} 0.3

具体见本人的github

参考:

https://stackoverflow.com/questions/613183/how-to-sort-a-dictionary-by-value

https://stackoverflow.com/questions/72899/how-do-i-sort-a-list-of-dictionaries-by-values-of-the-dictionary-in-python

http://pythoncentral.io/how-to-sort-python-dictionaries-by-key-or-value/

https://stackoverflow.com/questions/20464368/sort-a-dictionary-by-length-of-the-value

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2017年12月14日,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
python常用字典操作范例
# experimenting with the Python dictionary a seemingly unordered set of key:value pairs, types can be mixed Python23 tested vegaseat 13feb2005 initialize a dictionary, here a dictionary of roman numerals romanD = {'I':1,'II':2,'III':3,'IV':4,'V':5,
用户7999227
2021/11/01
2430
Python常用知识点汇总
python的元组、列表、字典数据类型是很python(there python is a adjective)的数据结构。这些结构都是经过足够优化后的,所以如果使用好的话,在某些area会有很大的益处。
py3study
2020/01/06
6360
dict 和 set 的 15 个经典使用例子
公众号原文:https://mp.weixin.qq.com/s/WwJdPebK_hFocS1lk7MWhA
AI悦创
2022/05/11
4180
值得一看,13个好用到起飞的Python技巧!
Python 是当今广泛使用的编程语言之一,在数据科学、科学计算、Web 开发、游戏开发和构建桌面图形界面等各个领域都有应用。Python 因其在各个领域的实用性、与 Java、C 和 C++ 等其他编程语言相比的生产力以及与英语类似的命令而广受欢迎。
yz_weixiao
2021/12/15
9440
13 个非常有用的 Python 代码片段,建议收藏!
假设我们在 Python 中有两个列表,我们希望将它们合并为字典形式,其中一个列表的项作为字典的键,另一个作为值。这是在用 Python 编写代码时经常遇到的一个非常常见的问题
周萝卜
2022/09/28
7300
13 个非常有用的 Python 代码片段,建议收藏!
Python基础练习100题 ( 31
这十道题的代码在我的github上,如果大家想看一下每道题的输出结果,可以点击以下链接下载:
py3study
2020/01/03
5630
KNN算法的Python实现
#-----------------------------------------------------#
py3study
2020/01/06
4900
13 个非常有用的 Python 代码片段
假设我们在 Python 中有两个列表,我们希望将它们合并为字典形式,其中一个列表的项作为字典的键,另一个作为值。这是在用 Python 编写代码时经常遇到的一个非常常见的问题
Python学习者
2023/03/18
7650
Python 数据类型常用的内置方法(三)
目录 Python 数据类型常用的内置方法(三) 1、列表内置方法 1、sort():升序 2、reverse():颠倒顺序 3、列表比较运算 2、字典内置方法 1、对Key的操作 2、len( )--统计键值对个数 3、成员运算 4、删除元素 5、get()方法 --获取V值 6、keys( )、values( )、items( ) 7、update --更新字典 8、fromkeys --初始化字典 3、元组内置方法 1、类型转换 2、索引 3、切片 4、len()统计元素个数 5、count()统计元
HammerZe
2022/03/24
5430
Python 数据类型常用的内置方法(三)
【Python】06、python内置数
通过某种方式(例如对元素进行编号)组织在一起的数据元素的集合,这些数据元素可以是数字或者字符,甚至可以是其它的数据结构。
py3study
2020/01/15
2.3K0
Python知识点备忘录
Python用def,perl用sub,JavaScript用function。别再搞错了,你这个sb
py3study
2020/01/15
2680
第八天- 基础数据操作补充 集合set
  若执行循环删除 应把要删除的内容保存在新列表中,循环新列表,删除老列表(字典)
py3study
2020/01/20
4380
python摸爬滚打之day07----
  1.2  不用clear()清空列表或字典 ----> 把要删除的元素放在新列表里,然后批量删除.
py3study
2020/01/20
4110
Python数据结构——字典
很多时候,数据对应的元素之间的顺序是无关紧要的,因为各元素都具有特别的意义,例如存储一些朋友的手机号码,此时用序列来存储数据并不是一个好的选择,Python提供了一个很好的解决方案--使用字典数据类型。 在Python中,字典是属于映射类型的数据结构。字典包含以任意类型的数据结构作为元素的集合,同时各元素都具有与之对应且唯一的键,字典主要通过键来访问对应的元素。字典与列表、元组有所不同,后两者使用索引来对应元素,而字典的元素都拥有各自的键,每个键值对都可以看成是一个映射对应关系。此外,元素在字典中没有严格的顺序关系。由于字典是可变的,所以可以对字典对象进行元素的增删改查等基本操作。
Francek Chen
2025/01/22
1140
Python数据结构——字典
Python匿名函数/排序函数/过滤函数
  lambda表示的是匿名函数. 不需要用def来声明, 一句话就可以声明出一个函数
py3study
2020/01/15
1.1K0
学习python的第十天(内置算法:列表数据类型,元祖数据类型,字典数据类型)
(与列表相似,区别是可以读取不可存储改变,列表中关于存储或者改名元素的内容内置函数元祖不行)
小小咸鱼YwY
2019/07/24
4530
2.0 Python 数据结构与类型
数据类型是编程语言中的一个重要概念,它定义了数据的类型和提供了特定的操作和方法。在 python 中,数据类型的作用是将不同类型的数据进行分类和定义,例如数字、字符串、列表、元组、集合、字典等。这些数据类型不仅定义了数据的类型,还为数据提供了一些特定的操作和方法,例如字符串支持连接和分割,列表支持排序和添加元素,字典支持查找和更新等。因此,选择合适的数据类型是 python 编程的重要组成部分。
王瑞MVP
2023/10/11
4550
数据类型总结(二)(列表,元组,字典)
一.变量的赋值操作 x=1 a=10 b=10 # #链式赋值 a=b=c=d=e=f=10 print(a,b,c,d,e,f) #多元赋值 #方式一 x=1 y=2 z=x #z=1 x=y #x=2 y=z #y=1 print(x,y) #方式二:python特有 x,y=y,x print(x,y) #增量赋值 x=10 x+=1 #x=x+1 print(x) #解压序列类型 s='hello' a=s[0] b=s[1] c=s[2] d=s[3] e=s[4] print(a,
用户1214487
2018/01/23
1.9K0
【Python】基础:数据读写与分析
Python适合用来做数据分析。以下是一些用Python进行数据分析的常用工具和库:
DevFrank
2024/07/24
950
万恶之源 - Python基础知识补充
  1. ASCII : 最早的编码. ⾥⾯有英⽂⼤写字⺟, ⼩写字⺟, 数字, ⼀些特殊字符.
py3study
2020/01/19
6380
相关推荐
python常用字典操作范例
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
本文部分代码块支持一键运行,欢迎体验
本文部分代码块支持一键运行,欢迎体验