在迭代遍历时候,会一直调用PyDictIterKey_Type里定义的dictiter_iternextkey执行迭代过程中的next操作,从而一个个地获得dict里所有key。 PyTypeObjectPyDictIterKey_Type={"dict_keyiterator",sizeof(dictiterobject),PyObject_SelfIter,(iternextfunc)dictiter_iternextkey,} has_key = (k in d.keys())对应的...
<dict_keyiterator object at 0x000000000214B728> <list_iterator object at 0x0000000002859400> 1. 2. 3. 4. 5. 6. 数据类型凡是有__iter__方法的都是可迭代的iterable,执行这个方法得到结果就是迭代器iterator,凡是iterator都内置一个__next__方法 d={'a':1,'b':2} i=d.__iter__() print(i) ...
上面的示例中每个阿拉伯数字(key)对应其中文的数字(value)。 1.1 使用dict函数 除了使用上面的语法外,还可以通过dict函数将(key -> value)这样形式的序列转换为字典。 1 # --- coding: utf-8 --- 2 items = [('name','Gumby'),('age',42)] 3 4 #使用dict函数 5 dic = dict(items) 6 7 # 输...
二、迭代器:能够记录当前迭代位置的可迭代对象,就是迭代器。 1)把list、set、dict等简单的可迭代对象用iter()函数包装一下,就成了迭代器。 例如 x=iter([1,2,3])#type(x) 输出 list_iteratory=iter({1,2,3})#type(y) 输出 set_iteratorz=iter({'a':1,'b':2})#type(z) 输出 dict_keyiterat...
1 <class 'bytearray_iterator'> 2 <class 'bytes_iterator'> 4 <class 'callable_iterator'> 5 <class 'PyCapsule'> 10 <class 'dict_items'> 11 <class 'dict_itemiterator'> 12 <class 'dict_keyiterator'> 13 <class 'dict_valueiterator'> 14 <class 'dict_keys'> 15 <class 'mappingproxy'> ...
1#--- coding: utf-8 ---23#keys/iterkeys 函数4pro_Language = {"C#":"microsoft","Java":"Oracle"}56#输出:['C#', 'Java']7printpro_Language.keys()8#输出:<dictionary-keyiterator object at 0x0000000002659BD8>9printpro_Language.iterkeys() ...
values() dict_values([1, 2, 3]) # 返回(key, value)构成的元组序列 >>> a.items() dict_items([('one', 1), ('tow', 2), ('three', 3)]) # 返回所有key的列表 >>> list(a) ['one', 'tow', 'three'] # 返回所有key构成的迭代器 >>> iter(a) <dict_keyiterator object at 0x...
1#--- coding: utf-8 ---23#keys/iterkeys 函数4pro_Language = {"C#":"microsoft","Java":"Oracle"}56#输出:['C#', 'Java']7printpro_Language.keys()8#输出:<dictionary-keyiterator object at 0x0000000002659BD8>9printpro_Language.iterkeys() ...
dict_keys(['b','a','c'])<dict_keyiterator object at0x0000000002202958>dict_values([2,1,3])<dict_valueiterator object at0x0000000002202958>dict_items([('b',2),('a',1),('c',3)])<dict_itemiterator object at0x00000000022029A8> ...
my_dict= {'one': 1, 'two': 2, 'three': 3}iter(my_dict)<dict_keyiteratorat 0xce0dbd8>list(iter(my_dict))['one', 'two', 'three'] 1. 2. 3. 4. 5. (8) reversed(d) 返回一个逆序获取字典键的迭代器。这是 reversed(d.keys()) 的快捷方式。