当前位置: 首页 > 面试题库 >

从字典访问任意元素的Python方法

微生昌胤
2023-03-14
问题内容

我有一本字典,里面装满了物品。我想窥视一个任意的项目:

print("Amongst our dictionary's items are such diverse elements as: %s" % arb(dictionary))

我不在乎哪个项目。不需要是 随机的

我可以想到许多实现此目的的方法,但是它们似乎都是浪费的。我想知道是否有Python中首选的惯用语,或者(甚至更好)我是否缺少一个惯用语。

def arb(dictionary):
# Creates an entire list in memory. Could take a while.
    return list(dictionary.values())[0]

def arb(dictionary):
# Creates an entire iterator. An improvement.
    for item in dictionary.values():
        return item

def arb(dictionary):
# No iterator, but writes to the dictionary! Twice!
    key, value = dictionary.popitem()
    dictionary[key] = value
    return value

我现在的性能还不够关键,因此我可能被指控过早的优化,但是我正在尝试改进自己的Python编码风格,因此,如果有一个易于理解的变体,最好采用它。


问题答案:

我认为,与您的第二个解决方案类似,但更为明显:

return next(iter(dictionary.values()))

这在python 2和python 3中都可以使用,但是在python 2中这样做更有效:

return next(dictionary.itervalues())


 类似资料:
  • 问题内容: 如果a不为空,则访问以下任意元素: 有什么更好的方法吗? 问题答案: 在Python 3上,非破坏性和迭代性地: 在Python 2上,非破坏性和迭代性地: 如果希望它在Python 2和3中都可以使用,则可以使用该包: 尽管在这一点上它还是很神秘的,但我还是更喜欢您的代码。 如果要删除任何项目,请执行以下操作: 请注意,“ first”在此处可能不是合适的术语,因为在Python <

  • 问题内容: 考虑像这样的字典 例如,如何访问该词典的特定元素?例如,我想在格式化Apple的第一个元素(在我们的情况下仅是“ American”)之后打印第一个元素。 附加信息上面的数据结构是通过在python函数中解析输入文件创建的。一旦创建,它在该运行中将保持不变。 我在函数中使用此数据结构。 因此,如果文件发生更改,则下次运行此应用程序时,文件的内容将有所不同,因此此数据结构的内容将有所不同

  • 本文向大家介绍python 字典访问的三种方法小结,包括了python 字典访问的三种方法小结的使用技巧和注意事项,需要的朋友参考一下 定义字典 dic = {'a':"hello",'b':"how",'c':"you"} 方法一: 结果: 细节: print key,dic[key],后面有个逗号,自动生成一个空格 print key + str(dic[key]),连接两个字符串,用的是加号

  • 问题内容: 这是我的Django代码,无法正常运行: 有没有办法保持原始元素的顺序,所以帖子将按in排序? 谢谢! 编辑: Python 2.6,Django 1.3 问题答案: 使用SortedDict代替dict() SortedDict保持其属性中的顺序。因此,您可以根据需要操纵顺序而无需重建字典。例如,要反转SortedDict的顺序,只需使用

  • 问题内容: 我想打印出每个选择获得的票数。我在模板中有以下代码: 只是一个字典,而只是一个模型对象。 该消息引发异常: 问题答案: 为了回应/扩展Jeff的评论,我认为你应该针对的只是Choice类中的一个属性,该属性计算与该对象关联的投票数: 然后在模板中,你可以执行以下操作: 模板标签,恕我直言,此解决方案有些过分,但这也不是一个糟糕的解决方案。Django中模板的目标是使你与模板中的代码隔离

  • rank ▲ ✰ vote url 23 644 117 879 url 字典里添加元素的方法 当一个字典被创建了,能不能在字典里计入一个键?好像没有.add()的方法. >>> d = {'key':'value'} >>> print d {'key': 'value'} >>> d['mynewkey'] = 'mynewvalue' >>> print d {'mynewkey': 'my