Python基础——字典

字典:

Python字典是另一种可变容器模型,且可存储任意类型对象,如字符串、数字、元组等其他容器模型。
一、创建字典
字典由键和对应值成对组成。字典也被称作关联数组或哈希表。基本语法如下:

dict = {‘Alice‘: ‘2341‘, ‘Beth‘: ‘9102‘, ‘Cecil‘: ‘3258‘}

也可如此创建字典

dict1 = { ‘abc‘: 456 }
dict2 = { ‘abc‘: 123, 98.6: 37 }

注意:
每个键与值用冒号隔开(:),每对用逗号,每对用逗号分割,整体放在花括号中({})。
键必须独一无二,但值则不必。
值可以取任何数据类型,但必须是不可变的,如字符串,数或元组。

二、访问字典里的值
把相应的键放入熟悉的方括弧,如下实例:

dict = {‘Name‘: ‘Zara‘, ‘Age‘: 7, ‘Class‘: ‘First‘};

print "dict[‘Name‘]: ", dict[‘Name‘];
print "dict[‘Age‘]: ", dict[‘Age‘];
#以上实例输出结果:
#dict[‘Name‘]:  Zara
#dict[‘Age‘]:  7

如果用字典里没有的键访问数据,会输出错误如下:

dict = {‘Name‘: ‘Zara‘, ‘Age‘: 7, ‘Class‘: ‘First‘};

print "dict[‘Alice‘]: ", dict[‘Alice‘];

以上实例输出结果:

#KeyError: ‘Alice‘[/code]

三、修改字典
向字典添加新内容的方法是增加新的键/值对,修改或删除已有键/值对如下实例:

dict = {‘Name‘: ‘Zara‘, ‘Age‘: 7, ‘Class‘: ‘First‘};

dict[‘Age‘] = 8; # update existing entry
dict[‘School‘] = "DPS School"; # Add new entry

print "dict[‘Age‘]: ", dict[‘Age‘];
print "dict[‘School‘]: ", dict[‘School‘];
#以上实例输出结果:
#dict[‘Age‘]:  8
#dict[‘School‘]:  DPS School

四、删除字典元素
能删单一的元素也能清空字典,清空只需一项操作。
显示删除一个字典用del命令,如下实例:

dict = {‘Name‘: ‘Zara‘, ‘Age‘: 7, ‘Class‘: ‘First‘};

del dict[‘Name‘]; # 删除键是‘Name‘的条目
dict.clear();     # 清空词典所有条目
del dict ;        # 删除词典

print "dict[‘Age‘]: ", dict[‘Age‘];
print "dict[‘School‘]: ", dict[‘School‘];
#但这会引发一个异常,因为用del后字典不再存在:
dict[‘Age‘]:

五、字典键的特性
字典值可以没有限制地取任何python对象,既可以是标准的对象,也可以是用户定义的,但键不行。
两个重要的点需要记住:
1)不允许同一个键出现两次。创建时如果同一个键被赋值两次,后一个值会被记住,如下实例:

dict = {‘Name‘: ‘Zara‘, ‘Age‘: 7, ‘Name‘: ‘Manni‘};

print "dict[‘Name‘]: ", dict[‘Name‘];
#以上实例输出结果:
#dict[‘Name‘]:  Manni

2)键必须不可变,所以可以用数,字符串或元组充当,所以用列表就不行,如下实例:

dict = {[‘Name‘]: ‘Zara‘, ‘Age‘: 7};

print "dict[‘Name‘]: ", dict[‘Name‘];
#以上实例输出结果:
#TypeError: list objects are unhashable

六、字典内置函数&方法
Python字典包含了以下内置函数:

cmp(dict1, dict2)  #比较两个字典元素。
len(dict)              #计算字典元素个数,即键的总数。
str(dict)              #输出字典可打印的字符串表示。
type(variable)     #返回输入的变量类型,如果变量是字典就返回字典类型。        

Python字典包含了以下内置方法:

radiansdict.clear()    #删除字典内所有元素
radiansdict.copy()    #返回一个字典的浅复制
radiansdict.fromkeys()    #创建一个新字典,以序列seq中元素做字典的键,val为字典所有键对应的初始值
radiansdict.get(key, default=None)    #返回指定键的值,如果值不在字典中返回default值
radiansdict.has_key(key)    #如果键在字典dict里返回true,否则返回false
radiansdict.items()    #以列表返回可遍历的(键, 值) 元组数组
radiansdict.keys()    #以列表返回一个字典所有的键
radiansdict.setdefault(key, default=None)    #和get()类似, 但如果键不已经存在于字典中,将会添加键并将值设为default
radiansdict.update(dict2)    #把字典dict2的键/值对更新到dict里
radiansdict.values()    #以列表返回字典中的所有值

七、字典练习代码

print(‘‘‘|---欢迎进入通讯录程序---|
|---1、 查询联系人资料---|
|---2、 插入新的联系人---|
|---3、 删除已有联系人---|
|---4、 退出通讯录程序---|‘‘‘)
addressBook={}#定义通讯录
while 1:
    temp=input(‘请输入指令代码:‘)
    if not temp.isdigit():
        print("输入的指令错误,请按照提示输入")
        continue
    item=int(temp)#转换为数字
    if item==4:
        print("|---感谢使用通讯录程序---|")
        break
    name = input("请输入联系人姓名:")
    if item==1:
        if name in addressBook:
            print(name,‘:‘,addressBook[name])
            continue
        else:
            print("该联系人不存在!")
    if item==2:
        if name in addressBook:
            print("您输入的姓名在通讯录中已存在-->>",name,":",addressBook[name])
            isEdit=input("是否修改联系人资料(Y/N):")
            if isEdit==‘Y‘:
                userphone = input("请输入联系人电话:")
                addressBook[name]=userphone
                print("联系人修改成功")
                continue
            else:
                continue
        else:
            userphone=input("请输入联系人电话:")
            addressBook[name]=userphone
            print("联系人加入成功!")
            continue

    if item==3:
        if name in addressBook:
            del addressBook[name]
            print("删除成功!")
            continue
        else:
            print("联系人不存在")

原文地址:https://www.cnblogs.com/zyb-pp/p/8589397.html

时间: 2024-08-29 23:41:45

Python基础——字典的相关文章

python基础-字典-列表-元组考试-day5

1.请用代码实现:利用下划线将列表的每一个元素拼接成字符串,li=['alex','eric','rain'] 1 li=['alex','eric','rain'] 2 v="_".join(li) 3 print(v) 执行结果: 1 alex_eric_rain 2.查找列表中元素,移除每个元素的空格,并查找以a或A开头并且以c结尾的所有元素.li=["alec","aric","Alex","Tony&quo

Python基础--字典:当索引不好用时

当列表或是元组的索引不能达到我们的目的时,我们想到了还有一种序列,即字典. 创建 字典 由多个键以及相应的值构成的键-值对组成. 键唯一.值能够不唯一 phonebook = {'xidada':'110', 'lizongli':'112', 'wangqishan':'119'} dict函数创建字典 使用dict函数,将其它映射或序列建立字典 >>>items = [('name', 'xidada'), ('age', 64)] >>>d = dict(item

课堂笔记:Python基础-字典

Python字典的两大特点:无序.键唯一 #字典创建dic={'name':'alex'} #第一种形式 dic2=dict((('name','alex'),)) #第二种形式 print(dic2) dic3=dict([['name','alex'],]) #第三种形式 print(dic3) # dic1={'name':'alex'} # dic1['age']=18 # print(dic1) #键存在,不改动,返回字典中相应的键对应的值 # ret=dic1.setdefault(

Day4—python基础—字典and集合

字典就是键值对应,键唯一,无序.集合用来去重,关系测试,无序. 字典这种数据类型常用的方法有: 1.clear() print(name.clear()) 清除字典中的数据,输出结果为none 2.fromkeys() print(name.fromkeys(["c","z","p"],100)) 创建字典,通过列表的方式指定多个key,并将这些key赋予相同的值 输出结果为: {'c': 100, 'z': 100, 'p': 100} 3.g

Python基础——字典和有序字典

字典 说明: 在 Python 中, 字典 是一系列 键 - 值对 .每个键都与一个值相关联,你可以使用键来访问与之相关联的值.与键相关联的值可以是数字.字符串.列表乃至字典.事实上,可将任何 Python 对象用作字典中的值 定义: 可以用如下的几种方式定义字典: dic = {'color': 'green', 'points': 5} dic1 = dict(color = 'green', points = 5) dic2 = dict([('color', 'green'), ('po

python基础-字典

1:字典:是无序的数据类型,他是由key:value组合.由于无序,所以没有下标获取value.通过:dict[key]来获取元素的value. 当字典的key重复时候,字典会自动去重复的key. 如下:当字典重复的key值时自动保留最后一个重复的key:value: a={2:'a',2:'b',3:'c'} print(a) {2: 'b', 3: 'c'} 2:字典的key值必须是可hash.字典的value可以是:变量.字典.列表. name=input('what is your na

python基础 字典练习

练习1:info = [ {'wangming': { 'money':1111, 'car':['bmo','bsj'], 'info':{ 'phone':1511111, 'age':18} } }, { 'lilei': { 'money':99999, 'car':['bbb','ccc'], 'house':{ '朝阳':1, '秦皇岛':3 } } }] #王明增加一辆车 #info里加一个key #秦皇岛加2 #给lilei加一个性别 答案: #王明增加一辆车info[0]['w

python基础之字典及字符

python基础之字典及字符串处理 本节内容 字典介绍及内置方法 字符串处理 1.字典介绍及内置方法 字典是python中唯一的映射类型,采用键值对(key-value)的形式存储数据.python对key进行哈希函数运算,根据计算的结果决定value的存储地址,所以字典是无序存储的,且key必须是可哈希的.可哈希表示key必须是不可变类型,如:数字.字符串.元组. 字典(dictionary)是除列表以外python之中最灵活的内置数据结构类型.列表是有序的对象结合,字典是无序的对象集合.两者

Python基础学习笔记(八)常用字典内置函数和方法

参考资料: 1. <Python基础教程> 2. http://www.runoob.com/python/python-dictionary.html 3. http://www.liaoxuefeng.com/wiki/001374738125095c955c1e6d8bb493182103fac9270762a000 常用操作字典的内置函数: 序号 函数及描述 1 cmp(dict1, dict2)比较两个字典元素. 2 len(dict)计算字典元素个数,即键的总数. 3 str(di