python基础之字典

字典的定义:

dict1 = {}  #空字典

dict2 = dict() #空字典 list1 = list()   tuple1 = tuple()

dict3 = {'name':'Enoch','age':22}

dict4 = dict([('name','Enoch'),('age',18)])
print(dict4)

dict5 = dict([(1,2),(3,4),(5,6)])
print(dict5)

添加:

dict6 = {}
dict6['brand']='huawei'
print(dict6) #{'brand':'huawei'}

#如果有同名的key, 则值会覆盖

一个小例子:

print('------------------welcome to the register page-------------------')
database = []
while True:
    username = input('please input your username')
    password = input('please input your password')
    repassword = input('input you password again')
    email = input('please input you email')
    phone = input('please input you phone number')

    user = {}
    user['username'] = username
    if password == repassword:
        user['password'] = password
    else:
        print('your password is wrong')
        continue
    user['email'] = email
    user['phone'] = phone
    database.append(user)

    answer = input('do you wanna register again y/n')
    if answer == 'y':
        continue
    else:
        break
print(database)

注意字典里的key值是唯一的而value值不是唯一的

字典的增删改查都是通过key值实现

字典的遍历

dict1 = {'name':'Enoch','age':12}

for i in dict1:
    print(i)  #这样会拿出所有的key

#字典里的方法
for key,value in dict1.items():
    print(key,value)

"""
dict1.items() 将字典的键值对转成列表保存的形式 [(key,value),(key,value)...]
"""

dict1 = {'Enoch':22,'Eric':12}


result = dict1.values() #取出所有的value值
totle = sum(result)
print(totle)



keys = dict1.keys() #取出所有的key值
for k in keys:
print(k)

 

in 判断元素是否在字典里面:

dict1 = {'Enoch':22,'Eric':12}

print('Tony' in dict1) #报错 keyError
#字典的内置函数:get()
print(dict1.get('Tony')) #找不到不会报错
也可以设置一个默认值:如果能够取到值,则返回字典中的值,取不到用默认值代替

print(dict1.get('Tony',99)) #取不到就打印出99

字典的删除

dict1 = {'Enoch':22,'Eric':12}

result = dict1.pop('Eric') #根据key删除字典中的键值对,只要删除成功,则返回键值对的值value
print(result) 

result2 = dict1.popitem() #默认从后面开始删除一个

字典的拼接

dict1 = {'Enoch':22,'Eric':12}

dict2 = {'Tony':33}

result = dict1.update(dict2)  #字典的一个拼接
print(dict1)

 

posted @ 2020-03-25 13:24  鸡龟骨滚羹  阅读(175)  评论(0)    收藏  举报