精华内容
下载资源
问答
  • 可以说字典中的操作都基于key来完成。本篇就python字典获取对应的方法展开讨论,在我们了解了基础的python字典知识后,会带来对应的实例方法。1.说明字典与列表最大的区别就是字典强调的是“键值对”,key与value...

    0c2eca1a11ff821d0b2cbcca44f0efde.png

    在python的模块学习中,我们除了对列表进行操作外,还有一种字典的方法是需要我们掌握的。在字典访问中,有一个重要的操作钥匙,就是key。可以说字典中的操作都基于key来完成。本篇就python字典获取对应键的方法展开讨论,在我们了解了基础的python字典知识后,会带来对应的实例方法。

    1.说明

    字典与列表最大的区别就是字典强调的是“键值对”,key与value一一对应,字典中的存放顺序并不重要,重要的是“键”和“值的对应关系”。

    2.获取 dict 字典的值

    使用 dict [ key ] 来获取所需要的值。d = {'woodman': 98, 9.86: 'GM', 'Bobo': [89, 65, 34], 'Mydict': {'Alan': 99}}

    print(d['woodman'])

    print(d[9.86])

    print(d['AA']) # 会抛出KeyError异常,表示无此键(key)

    3.返回值

    返回一个字典所有的键。

    4.实例#!/usr/bin/python

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

    print "Value : %s" %  dict.keys()

    以上实例输出结果为:Value : ['Age', 'Name']

    以上就是python字典获取对应键的方法,大家在了解了字典的基础使用后,就可以开始相关的操作了。如果代码运行异常,就要考虑字典中键的存在问题了。

    展开全文
  • 我发布了reduce()方法作为一种好奇,但是由于答案被接受,我发布了timeit结果,以便将性能与这张罚单上其他答案进行比较。在from timeit import timeitimport functoolsdef _reduce_py2(the_list):return reduce...

    我发布了reduce()方法作为一种好奇,但是由于答案被接受,我发布了timeit结果,以便将性能与这张罚单上的其他答案进行比较。在from timeit import timeit

    import functools

    def _reduce_py2(the_list):

    return reduce(lambda l, src: l.append(src['entry']['Name']) or l, the_list, [])

    def _reduce_py3(the_list):

    return functools.reduce(lambda l, src: l.append(src['entry']['Name']) or l, the_list, [])

    def _map_py2(the_list):

    return map(lambda d: d['entry']['Name'], the_list)

    def _map_py3(the_list):

    return [i for i in map(lambda d: d['entry']['Name'], the_list)]

    def _list(the_list):

    return [d['entry']['Name'] for d in the_list]

    the_list = []

    for i in range(1000):

    the_list += [{'entry' : {'Name' : 'Smith%s' % i, 'Age' : i}}]

    reps = 1000

    # Compare timings

    print('Reduce: ', timeit('c(the_list)', 'from __main__ import _reduce_py2 as c, the_list', number=reps))

    print('Map: ', timeit('c(the_list)', 'from __main__ import _map_py2 as c, the_list', number=reps))

    print('List comprehension: ', timeit('c(the_list)', 'from __main__ import _list as c, the_list', number=reps))

    结果:

    ^{pr2}$

    结论,list comprehension是最快的方法。^python3上的{}返回一个生成器。在

    展开全文
  • Okay, so this is a little hard to explain, but here goes:I have a dictionary, which I'm adding content to. The content is a hashed username (key) with an IP address (value).I was putting the hashes in...

    1586010002-jmsa.png

    Okay, so this is a little hard to explain, but here goes:

    I have a dictionary, which I'm adding content to. The content is a hashed username (key) with an IP address (value).

    I was putting the hashes into an order by running them against base 16, and then using Collection.orderedDict.

    So, the dictionary looked a little like this:

    d = {'1234': '8.8.8.8', '2345':'0.0.0.0', '3213':'4.4.4.4', '4523':'1.1.1.1', '7654':'1.3.3.7', '9999':'127.0.0.1'}

    What I needed was a mechanism that would allow me to pick one of those keys, and get the key/value item one higher and one lower. So, for example, If I were to pick 2345, the code would return the key:value combinations '1234:8.8.8.8' and '3213:4.4.4.4'

    So, something like:

    for i in d:

    while i < len(d)

    if i == '2345':

    print i.nextItem

    print i.previousItem

    break()

    解决方案

    As seen in the OrderedDict source code,

    if you have a key and you want to find the next and prev in O(1) here's how you do that.

    >>> from collections import OrderedDict

    >>> d = OrderedDict([('aaaa', 'a',), ('bbbb', 'b'), ('cccc', 'c'), ('dddd', 'd'), ('eeee', 'e'), ('ffff', 'f')])

    >>> i = 'eeee'

    >>> link_prev, link_next, key = d._OrderedDict__map['eeee']

    >>> print 'nextKey: ', link_next[2], 'prevKey: ', link_prev[2]

    nextKey: ffff prevKey: dddd

    This will give you next and prev by insertion order. If you add items in random order then just keep track of your items in sorted order.

    展开全文
  • 保持简单如果我们知道所有值都是字典,并且不希望检查它们任何值是否也是字典,那么它就像下面这样简单:len(dict_test) + sum(len(v) for v in dict_test.itervalues())细化它一点,实际上在计数前检查值是否是...

    保持简单

    如果我们知道所有的值都是字典,并且不希望检查它们的任何值是否也是字典,那么它就像下面这样简单:

    len(dict_test) + sum(len(v) for v in dict_test.itervalues())

    细化它一点,实际上在计数前检查值是否是字典:

    len(dict_test) + sum(len(v) for v in dict_test.itervalues() if isinstance(v, dict))

    最后,如果你想做一个任意深度,像下面的东西:

    def sum_keys(d):

    return (0 if not isinstance(d, dict)

    else len(d) + sum(sum_keys(v) for v in d.itervalues())

    print sum_keys({'key2': {'key_in3': 'value', 'key_in4': 'value'},

    'key1': {'key_in2': 'value',

    'key_in1': dict(a=2)}})

    # => 7

    在后一种情况下,我们定义一个将被递归调用的函数。给定值d,我们返回:

    > 0如果该值不是字典;要么

    >字典中的键数量,加上我们所有子代码中键的总数。

    使它更快

    以上是一个简洁和容易理解的方法。我们可以使用发电机得到一点快:

    def _counter(d):

    # how many keys do we have?

    yield len(d)

    # stream the key counts of our children

    for v in d.itervalues():

    if isinstance(v, dict):

    for x in _counter(v):

    yield x

    def count_faster(d):

    return sum(_counter(d))

    这让我们更多的性能:

    In [1]: %timeit sum_keys(dict_test)

    100000 loops, best of 3: 4.12 µs per loop

    In [2]: %timeit count_faster(dict_test)

    100000 loops, best of 3: 3.29 µs per loop

    展开全文
  • 问题描述在C#/.NET应用程序编程开发如何根据一个字典的值获取字典的键名?比如有如下字典:Dictionary types = new Dictionary(){{"1", "one"},{"2", "two"},{"3", "three"}};现需要根据字典的值(如:one),获取...
  • 在做程序时我们很多时候会用到字典类型,但是大多小伙伴会取所对应值,但是不知道怎么把给取出来让自己所使用。 disc = {"学习":14,"python":3,"java":7} #定义一个字典 #获取键所对应值 print(disc[...
  • Python中如何获取字典的子集

    千次阅读 2018-07-22 17:33:28
    如果你有个巨大的字典,字典中的一些属于一个特定的集合,你想创建一个包含这个集合及其对应值的新字典,可以有下面解决方案: &gt;&gt;&gt; def sub_dict(dct, keys, default=None): ... return ...
  • 但是有时候,我们可能会遇到一个问题,我们需要获取给定键中最近的键。让我们讨论一下执行这项任务的某些方法。方法一:使用列表推导(list comprehension)+keys()+lambda上述函数的组合可用于执行在字典中查找最近键...
  • Django模板中如何字典获取某个方法属性作为并输出对应值 问题 在模板html你可能想下面这样,来取出字典的值 {% block base %} ... {{ mydict[key] }} ... {% endblock %} 或者这样(标准语法) {% block ...
  • 我想使用一些JSON,将其转换为字典,然后更改字典中的一些值。在我尝试了如下所示的一些方法,但无法按预期工作。在我的JSON如下:{"9":[{"09_000":{"name":"Wyatt Feldt","1":"R","2":"L","w":1,"h_t":1}},{"09_001...
  • 按照下面输出方式输出 怎么可以值取出来 然后输出。 +---------------------------+-----------+----------+ | name | age | result | +--------------------------+-----------+----------+ | xxxx | xx | ...
  • Ok, so you can get a single value by dictionary[key] or all values by dictionary.Values.What I am looking for is a way to get all values for a given key set like so:List keys;Dictionary dictionary;...
  • 但是有时候,我们可能会遇到一个问题,我们需要获取给定键中最近的键。让我们讨论一下执行这项任务的某些方法。方法一:使用列表推导(list comprehension)+keys()+lambda上述函数的组合可用于执行在字典中查找最近键...
  • 我对python很陌生,我试图从字典中获取值,字典中的键是在dataframe列(pandas)中定义的。我找了好几次,最接近的是以下链接中的问题,但没有给出答案。所以,在这里我试图找到相同类型问题的答案。我有一本字典type_...
  • 在la上使用max并提供可调用,以便获得time_diff值最高整个字典.>>> la = [{'app_name': 'MKV58YCF8RR','time_diff': 17647},... {'app_name': 'ZXG68HYW4BA','time_diff': 18132}]>>>>>&...
  • 在可以将列表转换为如下集合:set(my_list)因此,为了找到两个字典的键之间的交集,可以将这些键转换成集合并找到交集。在要获取包含字典键的列表:^{pr2}$所以,要找到两个dict键的交集:set(dict_one.keys())....
  • 还有一个函数名为get()方法,它也有助于从字典中获取元素。# Python program to demonstrate# accesing a element from a Dictionary# Creating a DictionaryDict = {1: 'Geeks', 'name': 'For', 3: 'Geeks'}#...
  • 本章的主题为字典和文件,...我们可以想象,字典作为无序的数据结构,跟其他数据结构相比最大的区别在于,存储和获取都是通过(Key),而不是位置偏移。如果说列表跟其他语言中的数组类似,那么字典就相当于搜索表或...
  • python字典如何查找值包含指定字符串的键不是玩不起,只是输不起,不是不认真,只是怕伤心.说明python检测字典的键中是否含有某串字符,便利字典键值,再判断字符串是否在键值即可。示例代码:# 定义一个字典...
  • 和值设置字典列表。vard=newDictionary();d.Add("Zack",0);d.Add("Akon",3);d.Add("Jack",2);d.Add("Tom",1);获取并排序。varval=d.Keys.ToList();val.Sort();您可以尝试运行以下代码以按值对词典列表进行排序...
  • 这个问题是在写接口自动化程序过程,有个场景希望能通过字典的value获取对应key,在网上找到了解决方案,这里自己加一些注解放出来,希望能让大家明白是如何实现。 网友原代码形式如下 def getDictKey_1...
  • Python中字典get方法的使用说起来,这个功能是否需要学习还真是有待于...这个方法是通过键来获取相应的值,但是如果相应的键不存在则返回None。其实,None只是一个默认的返回值但是并不是一个不能修改的返回值。其...
  • {"flask-webapp": {"eb-flask1.3": {"s3url": ""}}},"DeploymentId": 4,"Serial": 4}有这样一个json文件, 我现在我需要提取出flask-webapp这个keyname,即flask-webapp这个字符串本身,我应该如何使用呢?...

空空如也

空空如也

1 2 3 4 5 6
收藏数 117
精华内容 46
关键字:

如何获取字典中的键