D.clear() -> None
说明:删除字典中所有的元素,一个变所有的都变
D.copy() -> dict
说明:复制一个字典的引用(浅复制),深拷贝需用独立的copy模块的deepcopy
D.get(k[,d]) -> object
说明:对于字典D中的k返回对应的value,如果字典中不存在此键,则返回default的值(注意default的值为None)
# -*- coding: utf-8 -*-
"""
#
# Authors: limanman
# OsChina: http://my.oschina.net/pydevops/
# Purpose:
#
"""
import pprint
def main():
"""Main function."""
cur_level = 1
area_dict = {
'huadong': {
'shandong': {
'jinan': [
u'历下区',
u'市中区',
],
'qingdao': [
u'市南区',
u'市北区',
]
},
'zhejiang': {
'hangzhou': [
u'下城区',
u'江干区',
],
'wenzhou': [
u'龙湾区',
u'瓯海区',
],
},
}
}
while True:
# 网页中多级菜单的下拉就相当于输入
# --------------------------------------------------------
level_str = '-> '*cur_level
list_or_tuple = False
if isinstance(area_dict, dict):
key_enum = enumerate(area_dict.keys())
elif isinstance(area_dict, (list, tuple)):
list_or_tuple = True
key_enum = enumerate(area_dict)
else:
print '%s %s %s' % (level_str, 0, area_dict)
break
for area_key, area_val in key_enum:
print '%s %s %s' % (level_str, area_key, area_val)
cur_choice = raw_input('please input your choice: ').strip()
if cur_choice.isdigit():
cur_choice = int(cur_choice)
else:
continue
if list_or_tuple:
key_value = area_dict[cur_choice]
else:
key_name = area_dict.keys()[cur_choice]
key_value = area_dict[key_name]
area_dict = key_value
cur_level += 1
# --------------------------------------------------------
if __name__ == '__main__':
main()
D.has_key(k) -> boolean
说明:如果键在字典中存在返回True,否则返回False,官方推荐用in/ not in来替代之
D.items() -> tuple
说明:返回一个包含字典中的键,值对元组的列表
D.iteritems() -> iterator
说明:返回一个包含字典中的键,值对元组的迭代
D.iterkeys() -> iterator
说明:返回一个包含字典的键的迭代序列
D.itervalues() -> itervalues
说明:返回一个包含字典的值的迭代序列
D.keys() -> list
说明:返回一个包含字典的键的列表
D.values() -> list
说明:返回一个包含字典的值的列表
D.pop(k[,d]) -> object
说明:从字典中弹出一个键值对,如果键不存在则返回默认default值
D.popitem() -> tuple
说明:从字典中弹出一个键值对,参数必须是键值对,如果不存在会抛出一异常
D.setdefault(k[,d]) -> None
说明:如果字典中不存在key键,则默认设置一个key对应设置的default值,如果存在则返回对应的键,它返回的是default
D.update(dict) -> None
说明:接受另一个字典对象或是一个键值对(长度为二的元组或是其它的iterables),如果指定关键字参数,然后用这些键值对更新字典