字典对象.字典方法

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),如果指定关键字参数,然后用这些键值对更新字典

转载于:https://my.oschina.net/pydevops/blog/616011

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值