python字典(dict)

'''
字典:dict1={"name":"张三","age":20}
    1.以键值对的形式出现
    2.用{}表示
    3.列表和元组转换成列表有要求限制(必须成对)
        3.1:列表list1=[['a',1],['b',2]]
            dict(list1)
        3.2:元组tuple1=(['c',3],['d',4])
            dict(tuple1)
    4.键必须唯一,值可不唯一(有重复键值对时,会取最后一个键的值)
'''
dict1={"name":"张三","age":20}

# 3.1
list1=[['a',1],['b',2]]
print(dict(list1))      #{'a': 1, 'b': 2}

# 3.2
tuple1=(['c',3],['d',4])
print(dict(tuple1))     #{'c': 3, 'd': 4}

#4
dict2={"name":"张三","age":20,"name":"李四"}
print(dict2)        #{'name': '李四', 'age': 20}


#添加字典元素:
    #1.直接添加:
dict1["sex"]="男"
print(dict1)    #{'name': '张三', 'age': 20, 'sex': '男'}
    #2.setdefault()函数添加
dict1.setdefault("score",90)
print(dict1)    #{'name': '张三', 'age': 20, 'sex': '男', 'score': 90}

#获取字典的元素
    #1.获取键keys()
print(dict1.keys())     #dict_keys(['name', 'age', 'sex', 'score'])
    #2.获取值
print(dict1.values())       #dict_keys(['name', 'age', 'sex', 'score'])
    #3.items(),利用for循环来获取键值对
'''
    name 张三
    age 20
    sex 男
    score 90
'''
for key,value in dict1.items():
    print(key,value)

#删除元素:
    #1.pop()删除指定键,会返回对应的值
print(dict1.pop("score"))   #90
    #2.popitem()删除字典末尾的键值对,并以元组的方式返回
print(dict1.popitem())      #('sex', '男')
    #3.clear()清空字典
dict1.clear()
print(dict1)        #{}

#fromkeys()生成一个新的字典,填入的数据可以为:字符串、元组、集合、键值对、列表  (重复的键会舍弃)
print({}.fromkeys("name"))      #字符串:{'n': None, 'a': None, 'm': None, 'e': None}
print({}.fromkeys(["name", "age", "sex"]))      #列表:{'name': None, 'age': None, 'sex': None}
# print({}.fromkeys(123))     #无效
print({}.fromkeys(("lisi"),123))        #元组:{'l': 123, 'i': 123, 's': 123}
print({}.fromkeys({"a","v","x","x"},123))   #集合:{'x': 123, 'a': 123, 'v': 123}
dict1={}.fromkeys(["name"],"李四")        #键值对:{'name': '李四'}
print(dict1)

#__contains__()判断字典中有没有指定的键,返回布尔值
print(dict1.__contains__("name"))       #True
print(dict1.__contains__("age"))        #False

#update()更新字典,用一个字典更新另一个字典(如果当前字典中没有就会添加进去,对已存在的会重新赋值)
dict1={"name":"zhangsan","age":19,"sex":"nan","score":80}
dict2={"name":"张三","age":20,"sex":"男"}
dict3={"score":90}
dict2.update(dict3)     #用dict3来更新dict2
print(dict2)            #{'name': '张三', 'age': 20, 'sex': '男', 'score': 90}

dict2.update(dict1)     #用dict1来更新dict2
print(dict2)            #{'name': 'zhangsan', 'age': 19, 'sex': 'nan', 'score': 80}




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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值