Python字典

注意:字典使用两个大括号来组成:{ }

# -*- coding:UTF-8 -*-

import numpy as np


def read_dict():
    # 创建和使用字典
    #(1)
    names = ['alice', 'beth', 'cecil', 'dee', 'earl']
    numbers = ['2341', '7327', '2323', '3157', '5551']
    d = {}
    for i in range(len(names)):
        d.setdefault(names[i], numbers[i])  # setdafault() 添加键值到字典中
    print d

    #(2)
    items = [('name', 'gumby'), ('age', 42)]
    d = dict(items)
    print d

    #(3)
    phone = {'alice': '2341', 'beth': '2737'}
    print phone

    # 列表索引位置
    x = [None] * 4  # 创建空列表来进行赋值
    x[1] = 'hduew'
    print x

    # 字典索引位置
    y = {}
    y[1] = 'dhue'
    y['age'] = 42
    y['name'] = 'alice'
    print y
    print y.clear()  # clear函数,清除字典里面的所有的项
    print y

    # 多值键值对
    z = {'username': 'admin', 'machine': ['foo', 'bar']}
    print 'z=', z  # 返回整个字典
    # print "z['machine']=", z['machine']  # 返回字典的所有值
    # print "z['machine'][0]=", z['machine'][0]  # 返回字典的第一个值

    # copy函数:"浅复制"
    print 'copy:'
    zc = z.copy()
    print 'zc=', zc

    # 修改"原字典"键值
    print 'change old dict:'
    z['username'] = 'kevinelstri'
    print 'z=', z
    print 'zc=', zc

    # 修改"新字典"键值
    print 'change new dict:'
    zc['username'] = 'kevin'
    print 'zc=', zc
    print 'z=', z

    # 字典'浅复制'之后,对于新旧字典是单独存在

    # 字典“深复制”,采用 from copy import deepcopy
    # 在原文件时,复制后的文件也会发生改变
    print

    # fromkeys方法使用给定的键建立新的字典,每个键都对应一个默认的值None
    kdict = {}
    print kdict.fromkeys(['name', 'age'])  # {'age': None, 'name': None}
    print kdict.fromkeys(['name'], (42))  # {'name': 42}

    # get() 返回指定键的值,如果值不在字典中,返回default值

    # has_key() 如果键在字典中,返回true,否则返回false

    # items() 以列表返回可遍历的(键值)元组数组

    # keys() 以列表返回一个字典所有的键

    # setdafault() 添加键值到字典中

    # update() 把字典的键值对更新到dict里

    # values() 以列表返回字典中的所有值

    # cmp(dict1,dict2) 比较两个字典元素

    # len(dict) 计算字典元素个数,即键的总数

    # str(dict) 输出字典可打印的字符串表示

    # type(variable) 返回输入的变量类型,如果变量是字典就返回字典类型

if __name__ == "__main__":
    read_dict()

Output:

{'dee': '3157', 'earl': '5551', 'beth': '7327', 'alice': '2341', 'cecil': '2323'}
{'age': 42, 'name': 'gumby'}
{'beth': '2737', 'alice': '2341'}
[None, 'hduew', None, None]
{1: 'dhue', 'age': 42, 'name': 'alice'}
None
{}
z= {'username': 'admin', 'machine': ['foo', 'bar']}
copy:
zc= {'username': 'admin', 'machine': ['foo', 'bar']}
change old dict:
z= {'username': 'kevinelstri', 'machine': ['foo', 'bar']}
zc= {'username': 'admin', 'machine': ['foo', 'bar']}
change new dict:
zc= {'username': 'kevin', 'machine': ['foo', 'bar']}
z= {'username': 'kevinelstri', 'machine': ['foo', 'bar']}

{'age': None, 'name': None}
{'name': 42}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值