python - 从 Python 中的单元素字典中提取键名

标签 python python-2.7 dictionary

如果我知道我的字典总是只有一个元素,有没有办法在不通过列表的情况下提取键名?我目前正在这样做。

data = {'foo': [1, 2, 3]}
key_name = data.keys()[0]

有没有更有效的技术?

最佳答案

迭代字典产生键。

使用 next , iter :

>>> data = {'foo': [1, 2, 3]}
>>> next(iter(data))
'foo'

基准:

In [1]: data = {'foo': [1, 2, 3]}

In [2]: %timeit next(iter(data))
1000000 loops, best of 3: 197 ns per loop

In [3]: %timeit data.keys()[0]
10000000 loops, best of 3: 155 ns per loop

In [4]: %timeit data.iterkeys().next()
1000000 loops, best of 3: 226 ns per loop

In [9]: %timeit k, = data.keys()
10000000 loops, best of 3: 151 ns per loop

In [10]: %timeit k, = data    # <--- fastest
10000000 loops, best of 3: 81.4 ns per loop

关于python - 从 Python 中的单元素字典中提取键名,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24982447/

相关文章:

python - Pandas - update() 创建 "random"值?

python - 使用python redis事务时有什么方法可以插入一些python语句吗?

python - SQLAlchemy/Flask Admin 中的 Slug 字段

python matplotlib条形图添加条形标题

python - 如何使用请求模块将数据发布到 flask 应用程序?

Swift:如何保存和加载具有 Userdefaults 中结构值的字典

python - Python 中的安全表达式解析器

python-2.7 - Scrapy没有进入解析函数

C# - Dictionary<int, Dictionary<int, string>> 排序抛出 System.ArgumentException

python - 无法从 django 中的 GET 字典获取所有值