精华内容
下载资源
问答
  • Python 字典(Dictionary)字典是另一种可变容器模型,且可存储任意类型对象。字典的每个键值 key=>value 对用冒号 : 分割,每个键值对之间用逗号 , 分割,整个字典包括在花括号 {} 中 ,格式如下所示:d= {key1:value1...

    Python 字典(Dictionary)

    字典是另一种可变容器模型,且可存储任意类型对象。

    字典的每个键值 key=>value 对用冒号 : 分割,每个键值对之间用逗号 , 分割,整个字典包括在花括号 {} 中 ,格式如下所示:

    d= {key1:value1,key2:value2}

    键一般是唯一的,如果重复最后的一个键值对会替换前面的,值不需要唯一。

    >>> dict = {'a': 1, 'b': 2, 'b': '3'}

    >>> dict['b']

    '3'

    >>> dict

    {'a': 1, 'b': '3'}

    值可以取任何数据类型,但键必须是不可变的,如字符串,数字或元组。

    一个简单的字典实例:

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

    也可如此创建字典:

    dict1= {'abc':456}dict2= {'abc':123,98.6:37}

    访问字典里的值

    把相应的键放入熟悉的方括弧,如下实例:

    实例

    #!/usr/bin/pythondict= {'Name':'Zara','Age':7,'Class':'First'}print"dict['Name']:",dict['Name']print"dict['Age']:",dict['Age']

    以上实例输出结果:

    dict['Name']: Zara

    dict['Age']: 7

    如果用字典里没有的键访问数据,会输出错误如下:

    实例

    #!/usr/bin/pythondict= {'Name':'Zara','Age':7,'Class':'First'}print"dict['Alice']:",dict['Alice']

    以上实例输出结果:

    dict['Alice']:

    Traceback (most recent call last):

    File "test.py", line 5, in

    print "dict['Alice']: ", dict['Alice']

    KeyError: 'Alice'

    修改字典

    向字典添加新内容的方法是增加新的键/值对,修改或删除已有键/值对如下实例:

    实例

    #!/usr/bin/pythondict= {'Name':'Zara','Age':7,'Class':'First'}dict['Age']=8# 更新dict['School']="RUNOOB"# 添加print"dict['Age']:",dict['Age']print"dict['School']:",dict['School']

    以上实例输出结果:

    dict['Age']: 8

    dict['School']: RUNOOB

    删除字典元素

    能删单一的元素也能清空字典,清空只需一项操作。

    显示删除一个字典用del命令,如下实例:

    实例

    #!/usr/bin/python# -*- coding: UTF-8 -*-dict= {'Name':'Zara','Age':7,'Class':'First'}deldict['Name']# 删除键是'Name'的条目dict.clear()# 清空字典所有条目deldict# 删除字典print"dict['Age']:",dict['Age']print"dict['School']:",dict['School']

    但这会引发一个异常,因为用del后字典不再存在:

    dict['Age']:

    Traceback (most recent call last):

    File "test.py", line 8, in

    print "dict['Age']: ", dict['Age']

    TypeError: 'type' object is unsubscriptable

    注:del()方法后面也会讨论。

    字典键的特性

    字典值可以没有限制地取任何python对象,既可以是标准的对象,也可以是用户定义的,但键不行。

    两个重要的点需要记住:

    1)不允许同一个键出现两次。创建时如果同一个键被赋值两次,后一个值会被记住,如下实例:

    实例

    #!/usr/bin/pythondict= {'Name':'Zara','Age':7,'Name':'Manni'}print"dict['Name']:",dict['Name']

    以上实例输出结果:

    dict['Name']: Manni

    2)键必须不可变,所以可以用数字,字符串或元组充当,所以用列表就不行,如下实例:

    实例

    #!/usr/bin/pythondict= {['Name']:'Zara','Age':7}print"dict['Name']:",dict['Name']

    以上实例输出结果:

    Traceback (most recent call last):

    File "test.py", line 3, in

    dict = {['Name']: 'Zara', 'Age': 7}

    TypeError: list objects are unhashable

    字典内置函数&方法

    Python字典包含了以下内置函数:

    序号函数及描述

    2len(dict)

    计算字典元素个数,即键的总数。

    3str(dict)

    输出字典可打印的字符串表示。

    4type(variable)

    返回输入的变量类型,如果变量是字典就返回字典类型。

    Python字典包含了以下内置方法:

    序号函数及描述

    2

    3dict.fromkeys(seq[, val])

    创建一个新字典,以序列 seq 中元素做字典的键,val 为字典所有键对应的初始值

    4

    5dict.has_key(key)

    如果键在字典dict里返回true,否则返回false

    6dict.items()

    以列表返回可遍历的(键, 值) 元组数组

    7dict.keys()

    以列表返回一个字典所有的键

    8dict.setdefault(key, default=None)

    和get()类似, 但如果键不存在于字典中,将会添加键并将值设为default

    9dict.update(dict2)

    把字典dict2的键/值对更新到dict里

    10

    11pop(key[,default])

    删除字典给定键 key 所对应的值,返回值为被删除的值。key值必须给出。

    否则,返回default值。

    12popitem()

    返回并删除字典中的最后一对键和值。

    展开全文
  • I have a list of dictionary like thisdata = [{'Name': 'john', 'Height': 176, 'Weight':62, 'IQ':120,..},...]the .. signifies various other integer/float attributes and all elements of the list has same...

    I have a list of dictionary like this

    data = [{'Name': 'john', 'Height': 176, 'Weight':62, 'IQ':120,..},...]

    the .. signifies various other integer/float attributes and all elements of the list has same format..

    I want to get the average Height, Weight and all other numerical attributes in the cleanest/easiest way.

    I could not come up with a better way than normal for looping which was too messy... and i don't want to use any external packages

    解决方案

    You can use the following

    sum([item['Weight'] for item in data])/len(data)

    and use

    float(len(data))

    if you want a more exact value.

    展开全文
  • 9 个答案:答案 0 :(得分:5)如果您使用numpy:import numpy as npnp.array(list(dict.values())).mean()答案 1 :(得分:4)在Python 3.4中,有一个非常明确的方法:import statisticsnumbers = [G[key] for key in G]...

    9 个答案:

    答案 0 :(得分:5)

    如果您使用numpy:

    import numpy as np

    np.array(list(dict.values())).mean()

    答案 1 :(得分:4)

    在Python 3.4中,有一个非常明确的方法:

    import statistics

    numbers = [G[key] for key in G]

    mean_ = statistics.mean(numbers)

    答案 2 :(得分:4)

    要使用“简单for循环”,使用约束来使用dict方法:

    G={'E': 18.0, 'D': 17.0, 'C': 19.0, 'B': 15.0, 'A': 0}

    count = 0

    _sum = 0

    for key in G:

    count += 1

    _sum += G[key]

    print('this is the mean: ', _sum/count)

    答案 3 :(得分:3)

    对字典的迭代会迭代其键。尝试使用for key in G,然后恰当地使用G[key]代替values。

    或者,使用字典的iteritems()方法从G中获取key, value对,即:

    d=[float(sum(values)) / len(values) for key, values in G.iteritems()]

    (为了记录,你计算平均值的实际方法对我来说不合适,但你也可以先修复迭代问题。)

    答案 4 :(得分:1)

    使用G.values()从字典中获取所有值。

    G = {'E': 18.0, 'D': 17.0, 'C': 19.0, 'B': 15.0, 'A': 0}

    d = float(sum(G.values())) / len(G)

    print (d)

    这会打印13.8。

    请注意,Python 2和Python 3之间存在差异。在Python 2中,G.values()是一个新构造的值列表。在Python 3中,它是一个生成器,可以被认为是一个“惰性列表”。在Python 2中,同样的事情被称为G.itervalues()。

    答案 5 :(得分:0)

    import numpy as np

    np.mean(list(dict.values()))

    答案 6 :(得分:0)

    我建议而不是当前的答案是采用可重用且灵活的函数式编程范例。例如,创建一个函数来计算简单list中包含的dict值的任何统计信息:

    def summarize_dict(dictionary, function):

    dict_new = {}

    for k,v in dictionary.items():

    dict_new[k] = function(v)

    return dict_new

    测试:

    import numpy as np

    keys = ["a","b","c","d","e"]

    values = [range(2),range(4),range(6),range(8),range(10)]

    dictionary = dict(zip(keys, values))

    summarize_dict(dictionary, np.mean)

    收率:

    {'a': 0.5, 'b': 1.5, 'c': 2.5, 'd': 3.5, 'e': 4.5}

    答案 7 :(得分:0)

    另一个for循环,这个不需要项目的计数器。

    G = {'E': 18.0, 'D': 17.0, 'C': 19.0, 'B': 15.0, 'A': 0}

    sum = 0

    for k in G:

    sum += float(G[k])

    print "Mean: " + str(sum/len(G))

    结果:

    Mean: 13.8

    [Finished in 0.3s]

    实际上,根据您的数据,无需使用float。在我的结尾,删除float并且只是离开sum += G[k]仍然输出相同的值,因为值无论如何都不是字符串。

    答案 8 :(得分:0)

    你想:

    mean = sum([G[key] for key in G])/float(len(G))

    您的原始代码也会生成:

    TypeError: 'int' object is not iterable

    当您尝试对值进行求和时。

    展开全文
  • I have a list of dictionary like thisdata = [{'Name': 'john', 'Height': 176, 'Weight':62, 'IQ':120,..},...]the .. signifies various other integer/float attributes and all elements of the list has same...

    1586010002-jmsa.png

    I have a list of dictionary like this

    data = [{'Name': 'john', 'Height': 176, 'Weight':62, 'IQ':120,..},...]

    the .. signifies various other integer/float attributes and all elements of the list has same format..

    I want to get the average Height, Weight and all other numerical attributes in the cleanest/easiest way.

    I could not come up with a better way than normal for looping which was too messy... and i don't want to use any external packages

    解决方案

    You can use the following

    sum([item['Weight'] for item in data])/len(data)

    and use

    float(len(data))

    if you want a more exact value.

    展开全文
  • 好吧,让我们遍历所有的字典键并平均这些项:avgDict = {}for k,v in StudentGrades.iteritems():# v is the list of grades for student kavgDict[k] = sum(v)/ float(len(v))现在你可以看到:avgDictOut[5]:{'Ivan...
  • 好吧,让我们迭代所有字典键并平均项目:avgDict = {}for k,v in StudentGrades.iteritems():# v is the list of grades for student kavgDict[k] = sum(v)/ float(len(v))现在你可以看到:avgDictOut[5]:{'Ivan': 3....
  • I have the following listcount = 3.5, price = 2500count = 3, price = 400count = 2, price = 3000count = 3.5, price = 750count = 2, price = 500I want to find the average price for all where the count is...
  • 我在跨整个字典进行迭代时遇到问题,无法对键的值中的每个元素进行简单的汇总统计(平均值)。Python - 字典中各个键的每个值的均值我的字典由那些号码清单键和值:test_dict={'NJ':[20,50,70,90,100],'NY':[10,3,0,...
  • 用户从键盘上输入10位学生的学号、姓名和分数,这里采用字典。程序最终输出相同姓名的平均分。如果字典中不存在相同姓名的情况,则程序给出相应提示。
  • python_求平均值

    万次阅读 2018-12-29 14:31:31
    1.输出字典内数组平均值 a = {'name': 'Tom', 'age': 20, 'address': '北京', 'score': [89, 99, 78, 95]} dic = a.get('score') print(dic) b = 0 for i in dic: b += i c = b / len(dic) #里面字符的...
  • Python字典中键对应平均取函数 def dict_Avg( Dict ) : Len = len( Dict ) #取字典中键值对的个数 Sum = sum( Dict.values() ) #取字典中键对应的总和 Avg = Sum / Len return Avg 致谢 若...
  • 列表字典求平均值

    2021-02-23 07:31:00
    转换为列表嵌套字典形式[{‘姓名’:‘张三’,平均成绩:90},{.。。}] li = [] with open(‘woniu.txt’,‘r’,encoding= ‘utf8’) as f: contents = f.readlines() f.close() for i in range(1,len(contents)): ...
  • 广告关闭腾讯云11.11云上盛惠 ,精选热门产品助力上云,云服务器首年88元起,买的越多返的越多,最高返5000元!一般用小写字母和单下划线、数字等组合,有人习惯用aabb的...相对于def缩进,按照python习惯,缩进四...
  • Python实现字典的一键多情况,采用 { key: [list] }形式;并根据键对多个进行平均。可复制代码:keys = [1,2,3,4,5,6,3,4,5,7]values = [11,22,33,44,55,66,77,88,99,100]dictionary = {}for i in range(len...
  • Test = {'a': 2, 'b': 10, 'c': 5} print(min(Test.values())) >> 2
  • 往上看.>字典完成后,使用for循环显示字典键和.这就是我得到的>接下来,使用循环打印“阵容”(击球中的字典)订购).这是我需要一些帮助的步骤,不知道我该怎么做关于为这样的字典做订单.列表更有意义对我而言,这不是...
  • 字典是一系列由键(key)和(value)配对组成的元素的集合。字典是一个可变容器模型,可以存储任意类型对象。字典实现与哈希算法密不可分(不同的Python版本,算法会不同),不了解哈希算法的童鞋可以先去了解相关...
  • python字典练习

    千次阅读 2019-01-03 20:22:13
    1.输出字典内数组平均值 方法一: 首先根据索引找到字典中数组的位置 用sum方法出元组内元素之和 sum除以元组元素的个数,平均值 a={'name':'Tom','age':20,'address':'北京','score':[89,99,78,95]} sum...
  • python_求平均成绩

    千次阅读 2019-01-17 10:09:04
    计算该学生的平均成绩,并打印 平均成绩保留一位小数 计算语文成绩占总成绩的百分比,并打印 “”"** name = input(“学生姓名:”) Chinese = float(input(“语文成绩:”)) ##成绩设置为浮点型 Math = float...
  • 使用ipython进行代码编写,清洗excel的数据并且转化到DataFrame上进行平均值的输出,最后输出为新的Excel的表格
  • Python字典和集合

    2019-10-12 00:10:06
    以下内容是整理极客时间Python核心技术与实战课程的笔记。 Python字典和集合
  • python字典练习1

    2019-09-15 10:01:50
    python字典练习1 开始对题目是一头雾水,不知道怎么开始,后经对答案的拆解有了自己的体会。如下: fo = open("PY202.txt","w") data = input("请输入课程名及对应的成绩:") # 课程名 考分 d={} ...
  • python 字典和集合

    2019-05-29 21:18:16
    字典和集合在 Python 被广泛使用,并且性能进行了高度优化。 基础 是一系列无序元素的组合,其长度大小可变,元素可以任意地删减和改变,这里的元素,是一对键(key)和(value)的配对, 相对于列表和元组,...
  • python字典的实现原理

    2020-04-05 07:57:02
    字典的查询、删除、插入平均时间复杂度都是O(1)。 1、字典是通过哈希算法实现的,字典的key可以是str,int,tuple等不可变对象,不能是列表(可变,不可哈希); 2、python3.7之前字典是无序的; 3、字典的实现...
  • Python-求字典中的最值

    千次阅读 2020-02-28 19:24:07
    已知一个包含一些同学成绩的字典,现在需要计算所有成绩的最高分、最低分、平均分,并查找所有最高分的同学。 例如 scores={“zhang San”:45,“Wang Wu”:40,“Zhou liu”:96,“Zhao Qi”:65,“Sun Ba”:90……} ...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 19,544
精华内容 7,817
关键字:

python字典求平均值

python 订阅