python day5 字典

python字典

# 数据类型划分: 可变数据类型、不可变数据类型
# 不可变数据类型: 元祖 bool str int  可哈希
# 可变数据类型 : list dict(字典) set(集合) 不可哈希
# dict key(必须是可哈希) value(任意数据类型)
# dict 优点:查询速度快(二分查找)
#            储存大量的关系型数据
#      特点:无序的(3.5版本以前)
dic1 = {"age": 18, "name": "Break", "sex": "male"}
# 增
dic1["hobby"] = "girly"  # 没有就增加
# print(dic1)     # {'age': 18, 'name': 'Break', 'hobby': 'giry', 'sex': 'male'}
dic1.setdefault("game")  # 没有就增加,有就覆盖(增加的默认值是None)
# print(dic1)     # {'sex': 'male', 'age': 18, 'name': 'Break', 'game': None, 'hobby': 'girly'}

# 删
dic1.pop("game")  # 传入要删除的key (返回值是对应key的value)
# print(dic1.pop("Break666", "没有对应的Key(none)"))   # 如果需要删除的key没有的话 会返回第二个参数 <没有对应的Key(none)>
# print(dic1)     # {'hobby': 'girly', 'age': 18, 'sex': 'male', 'name': 'Break'}

# print(dic1.popitem())  # 随机删除 3.6版本以后默认删除最后一个 返回一个元组 ('name', 'Break')
# print(dic1)     # {'hobby': 'girly', 'sex': 'male', 'age': 18}

del dic1["hobby"]  # 删除对应的key 如果key没有就会报错,建议用pop
# print(dic1)   # {'sex': 'male', 'name': 'Break', 'age': 18}
# del dic1    # 直接删除字典
# print(dic1)     # 此时会报错 NameError: name 'dic1' is not defined

# dic1.clear()    # 清空字典
# print(dic1)     # {}

#  改
dic1["age"] = 19  # 直接赋值
print(dic1)

# update
div = {
    "name": "box",
    "width": "200px",
    "height": "200px",
    "background-color": "red"
}
dic1.update(div)  # 将div更新到dic1里面 只改变dic1,div不改变
# print(dic1)     # {'sex': 'male', 'height': '200px', 'width': '200px', 'age': 19, 'name': 'box', 'background-color': 'red'}
# print(div)  # {'name': 'box', 'height': '200px', 'width': '200px', 'background-color': 'red'}

# 查 当做列表用
# print(dic1.keys(), type(
#     dic1.keys()))
# type是字典key类型(dict_keys) dict_keys(['background-color', 'age', 'width', 'name', 'sex', 'height'])
#  <class 'dict_keys'>
# print(dic1.values(), type(
#     dic1.values()))
# type是字典values类型(dict_values) dict_values(['red', 19, '200px', 'box', 'male', '200px']) <class
# 'dict_values'>
# print(dic1.items(), type(
#     dic1.items()))
# type是字典items类型(dict_items) dict_items([('background-color', 'red'), ('age', 19), ('width', '200px'), ('name',
# 'box'), ('sex', 'male'), ('height', '200px')]) <class 'dict_items'>

a, b, c = [1, 2, 3]
print(a, b, c)

'''
for i in dic1:
    print(i)    # 全部是key
    print(dic1[i])      # 全是value
'''
# for k, v in dic1.items():
#     print(k, v)

# get获取键值
# print(dic1["name1"])    # 报错
# print(dic1.get("name1", "没有这个key"))   # 没有默认返回none 可以改变默认返回值

'''
    info = input(">>>")
    for i in info:
        if i.isalpha():
            info = info.replace(i, " ")
    print(len(info.split()))
'''

  

猜你喜欢

转载自www.cnblogs.com/breaki/p/9250362.html