her*_*lla 24 python dictionary python-2.7
是否有可能获得dict类似于pandas的Python 的部分视图df.tail()/df.head().假设你有一个很长的dict,你只想检查一些元素(开头,结尾等)dict.就像是:
dict.head(3) # To see the first 3 elements of the dictionary.
{[1,2], [2, 3], [3, 4]}
Run Code Online (Sandbox Code Playgroud)
谢谢
Ret*_*ard 27
有点变态欲望,但你可以通过使用它来得到它
dict(islice(mydict.iteritems(), 0, 2))
Run Code Online (Sandbox Code Playgroud)
或者用于简短的词典
# Python 2.x
dict(mydict.items()[0:2])
# Python 3.x
dict(list(mydict.items())[0:2])
Run Code Online (Sandbox Code Playgroud)
编辑:
在 Python 3.x 中:不使用库就可以这样做。使用方法:
。项目()
它返回带有值的字典键列表。
有必要将其转换为列表,否则会发生错误 'my_dict' object is not subscriptable。然后将其转换为字典。现在可以用方括号切片了。
dict(list(my_dict.items())[:3])
Run Code Online (Sandbox Code Playgroud)
我知道这个问题已经有 3 年历史了,但是这里有一个 pythonic 版本(可能比上面的方法更简单)Python 3.*:
[print(v) for i, v in enumerate(my_dict.items()) if i < n]
Run Code Online (Sandbox Code Playgroud)
它将打印n字典的第一个元素my_dict
import itertools
def glance(d):
return dict(itertools.islice(d.iteritems(), 3))
>>> x = {1:2, 3:4, 5:6, 7:8, 9:10, 11:12}
>>> glance(x)
{1: 2, 3: 4, 5: 6}
Run Code Online (Sandbox Code Playgroud)
然而:
>>> x['a'] = 2
>>> glance(x)
{1: 2, 3: 4, u'a': 2}
Run Code Online (Sandbox Code Playgroud)
请注意,插入一个新元素以不可预测的方式改变了“第一个”三个元素。这就是人们告诉您 dicts 不是有序的时的意思。如果你愿意,你可以得到三个元素,但你不知道它们会是哪三个。
使用 Python 3 字典理解对 @Neb 的解决方案进行一一解析:
{k: v for i, (k, v) in enumerate(my_dict.items()) if i < n}
Run Code Online (Sandbox Code Playgroud)
它返回一个字典而不是打印输出
| 归档时间: |
|
| 查看次数: |
19770 次 |
| 最近记录: |