# 输出字典d1的键值和键值个数
d1={'x':1,'y':2,'z':3}
d1={'x':1,'y':2,'z':3}
keylist=d1.keys()
while keylist:
print(keylist(0))
keylist.pop(0)
else:
print(len(d))
报错:TypeError: 'dict_keys' object is not callable
https://stackoverflow.com/questions/17322668/typeerror-dict-keys-object-does-not-support-indexing?noredirect=1中
You're passing the result of somedict.keys() to the function. In Python 3, dict.keys doesn't return a list, but a set-like object that represents a view of the dictionary's keys and (being set-like) doesn't support indexing. To fix the problem, use list(somedict.keys()) to collect the keys, and work with that.
所以:
# 输出字典键值和键值个数
d1={'x':1,'y':2,'z':3}
keylist=list(d1.keys())
while keylist:
print(keylist[0])
keylist.pop(0)
else:
print(len(d1))
ok