python(字典)


字典

字典是通过{}来表示的,每一条数据都是一个键值对(key:value),每个元素之间使用逗号隔开,字典的在同一个字典中是唯一的(不能重复)

字典中的键:只能是不可变类型的数据,一般情况下都是使用字符串来作为字典的键(可以用数字,字符串或元组充当)

字典中的值:可以取任何数据类型

 

不可变类型的数据:数值(int,float,bool),字符串、元组

可变类型的:列表、字典、集合(有增删查改的方法)

 

创建一个字典:

# 第一种:直接通过{}
dic = {"name": "msuen", "age": 18, 'gender': "男"}
print(dic)

# 第二种:使用内置函数dict(了解)
dic2 = dict([('name', 'msuen'), ('age', 18), ('gender', '男')])
print(dic2)

# 第三种:内置函数dict
dic3 = dict(name="musen",
age=18,
gender="男")
print(dic3)

 

 

 

访问字典中的值

dic = {"age": 18, "gender": "","name": "python"}
res = dic["name"]
print(res)
print("dic['age']:",dic['age'])

 

 

修改字典中的值

dic = {"age": 18, "gender": "","name": "python"}
dic['age']= 19
print("dic['age']:",dic['age'])

 

 

删除字典元素del方法

dic = {"age": 18, "gender": "","name": "python"}
del dic['age']       #删除键
print(dic)
dic.clear()          #清空字典
print(dic)
del dic             #整个删除后,后面输出会报异常
print(dic)

 

内置函数:

序号 函数及描述 实例
1 len(dict)
计算字典元素个数,即键的总数。
>>> dict = {'Name': 'python', 'Age': 18, 'Class': 'First'} >>> len(dict) 3
2 str(dict)
输出字典,可以打印的字符串表示。
>>> dict = {'Name': 'python', 'Age': 18, 'Class': 'First'} >>> str(dict) "{'Name': 'python', 'Class': 'First', 'Age': 18}"
3 type(variable)
返回输入的变量类型,如果变量是字典就返回字典类型。
>>> dict = {'Name': 'python', 'Age': 18, 'Class': 'First'} >>> type(dict) <class 'dict'>

内置方法:

序号 函数及描述
1 radiansdict.clear()
删除字典内所有元素
2 radiansdict.copy()
返回一个字典的浅复制
3 radiansdict.fromkeys()
创建一个新字典,以序列seq中元素做字典的键,val为字典所有键对应的初始值
4 radiansdict.get(key, default=None)
返回指定键的值,如果键不在字典中返回 default 设置的默认值
5 key in dict
如果键在字典dict里返回true,否则返回false
6 radiansdict.items()
以列表返回一个视图dict_items对象
7 radiansdict.keys()   
以列表返回一个视图dict_keys对象
8 radiansdict.setdefault(key, default=None)
和get()类似, 但如果键不存在于字典中,将会添加键并将值设为default
9 radiansdict.update(dict2)
把字典dict2的键/值对更新到dict里
10 radiansdict.values()
返回一个视图对象
11 pop(key[,default])
删除字典给定键 key 所对应的值,返回值为被删除的值。key值必须给出。 否则,返回default值。
12 popitem()
随机返回并删除字典中的最后一对键和值。

 

 

补充:

1.字典的嵌套,字典是可以无限进行嵌套的

cities={
    '北京':{
        '朝阳':['国贸','CBD','天阶','我爱我家','链接地产'],
        '海淀':['圆明园','苏州街','中关村','北京大学'],
        '昌平':['沙河','南口','小汤山',],
        '怀柔':['桃花','梅花','大山'],
        '密云':['密云A','密云B','密云C']
    },
    '河北':{
        '石家庄':['石家庄A','石家庄B','石家庄C','石家庄D','石家庄E'],
        '张家口':['张家口A','张家口B','张家口C'],
        '承德':['承德A','承德B','承德C','承德D']
    }
}

for i in cities:
    print(i)

print("*******************")

for i in cities['北京']:
    print(i)

print("******************")

for i in cities['北京']['昌平']:
    print(i)

 

 

字典的运用:

例子:记录学生的姓名和分数,并评级

students = {}
write = 1
while write:
    name = str(input("请输入姓名:"))
    grade = int(input("请输入分数:"))
    students[str(name)] = grade
    write = int(input("继续输入?\n 1/继续 0/退出"))

print("name rate".center(20,'*'))

for key,value in students.items():
    if value >= 90:
        print("%s %s  A".center(20,'*')%(key,value))
    elif 90 >value>60:
        print("%s %s  B".center(20,'*')%(key,value))
    else:
        print("%s %s  C".center(20,'*')%(key,value))

 

 

字典列表(在列表中嵌套字典)

dict_0 = {'color': 'green', 'points': 5}
dict_1 = {'color': 'yellow', 'points': 10}
dict_2 = {'color': 'red', 'points': 15}
lists = [dict_0, dict_1, dict_2]
for dict in lists:
    print(dict)

 


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM