首页 > 其他分享 >07_字典

07_字典

时间:2023-08-16 15:45:42浏览次数:33  
标签:name value dic key print 字典 07

# 1.首先,字典是以键值对的形式进行存储数据的
# 字典的表示方式:{key:value, key2:value, ...}
# dic = {"jay": "周杰伦", "金毛狮王": "谢逊"}

# val = dic["jay"]
# print(val)

# 字典的 key 必须是可哈希的数据类型(不可变类型)
# 字典的 value 可以是任何数据类型
# dic = {[]:123}
# print(dic)

# dic = {"詹姆斯": ["孩子1", "孩子2"]}
# print(dic)


# 2.字典的增删改查
# 字典的增加
# dic = dict()
# dic["jay"] = "周杰伦"
# dic[2] = 3
# print(dic)

# # 字典的修改
# dic['jay'] = "昆凌"  #此时,字典中已经有了jay,此时执行的就是修改操作了
# print(dic)

# dic.setdefault("tom","哈哈")  #设置默认值,如果以前已经有了tom了,setdefault就不起作用了
# dic.setdefault("tom","xixi")  
# print(dic)

# 字典的删除
# dic.pop("jay")  #根据key删除
# print(dic)

# # 字典的查询
# print(dic["jay557775"])    #如果key不存在,程序会报错,当你确定你的key是没有问题的,可以用
# print(dic.get('jay555'))   #如果key不存在,程序返回None,当你不确定你的key可以用

# None
# a = None
# print(a)
# print(type(a))

# s = "" #空字符串和None不一样

# 例子
# dic = {
#     "赵四": "特别能歪嘴",
#     "刘能": "老,老四啊。。",
#     "大脚": "跟这个和那个搞对象",
#     "大脑袋": "瞎折腾",
# }
# name = input("请输入你想知道我们村的人的名字:")
# val = dic.get(name)
# if val is None:
#     print("俺们村没有这个人")
# else:
#     print(val)


# 字典进阶操作 --  循环和嵌套
# dic = {
#     "赵四": "特别能歪嘴",
#     "刘能": "老,老四啊。。",
#     "大脚": "跟这个和那个搞对象",
#     "大脑袋": "瞎折腾",
# }

# # 1.可以用for循环,直接拿到key
# for key in dic:
#     print(key, dic[key])

# 2.希望把所有的key全部都保存在一个列表中
# print(dic.keys())
# print(list(dic.keys()))

# 3.希望把所有的value都放在一个列表中
# print(list(dic.values()))

# 4.直接拿到字典中的key和value
# print(dic.items())
# for key,value in dic.items():       # 可以直接拿到字典所有的key和value
#     # print(item)  #确定item中只有两项元素
#     # key,value = item
#     print(key, value)

# a, b = (1, 2)   #元组或列表都可以执行该操作,该操作被称为解构(解包)
# print(a)
# print(b)
 
# 非常重要(****)
# for k, v in dic.items():
#     print(k,v)

# 字典的嵌套
# wangfeng = {
#     "name": "汪峰",
#     "age": "18",
#     "wife": {
#         "name": "皮特张",
#         "hobby": "演习",
#         "assistant": {
#             "name": "乔峰",
#             "age": 23,
#         }
#     },
#     "children": [
#         {"name": "孩儿1", "age": 2},
#         {"name": "孩儿2", "age": 2},
#         {"name": "孩儿3", "age": 2},
#     ]
# }

# # 汪峰妻子助手的名字
# # name = wangfeng["wife"]['assistant']["name"]
# # print(name)

# # 给wangfegn的第二个孩子加1岁
# wangfeng['children'][1]['age'] = wangfeng['children'][1]['age'] + 1
# print(wangfeng)


# 补充,字典的循环删除

dic = {
    "赵四": "特别能歪嘴",
    "刘能": "老,老四啊。。",
    "大脚": "跟这个和那个搞对象",
    "大脑袋": "瞎折腾",
}

temp = []
for key in dic:
    if key.startswith('大'):
        temp.append(key)
        # dic.pop(key)      # RuntimeError: dictionary changed size during iteration,循环时又改变了长度

for t in temp: # 循环列表,删除字典中的内容
    dic.pop(t)

print(dic)   

  

标签:name,value,dic,key,print,字典,07
From: https://www.cnblogs.com/yizhipanghu/p/17635248.html

相关文章

  • ThingsKit物联网平台字典管理(管理员)
    概述字典管理的主要功能是维护数据类型的信息,包括下拉框、单选按钮、复选框、树选择等数据类型,方便系统管理员进行维护。它通过对字典分类的管理和字典项的管理,来对数据的类型和状态进行管理,并减少数据的冗余,节约内存。例如,在性别类型的数据中,可以用字典管理来定义“男”和“女”......
  • [代码随想录]Day18-二叉树part07
    题目:530.二叉搜索树的最小绝对差思路:一个关键问题——BST的中序遍历是由小到大的顺序,也就是说记录遍历的前一个节点,每次比较当前节点-前一个节点的值即可(因为由小到大所以当前>前一个)代码:/***Definitionforabinarytreenode.*typeTreeNodestruct{*Val......
  • 阿里云容器服务 ACK 产品技术动态(202307)
    ......
  • 2-07-Feign-基于Feign的远程调用-not practice
    使用Feign共四步引入依赖<dependency><groupId>org.springframework.cloud</groupId><artifactId>spring-cloud-starter-openfeign</artifactId></dependency>启动类添加注解开启功能针对每个服务创建对应的客户端packagecn.itcast.order.client;impo......
  • Python合并两个字典代码
    合并两个字典Python3.5之后,合并字典变得容易起来。我们可以通过**符号解压字典,并将多个字典传入{}中,实现合并。defMerge(dict1,dict2):res={**dict1,**dict2}returnres#两个字典dict1={"name":"Joy","age":25}dict2={"name":"Joy",......
  • redis数据结构字典
    redis数据结构字典数据结构Redis的字典使用哈希表作为底层实现,一个哈希表里面可以有多个哈希表节点,而每个哈希表节点就保存了字典中的一个键值对。哈希表typedefstructdictht{//哈希表数组dictEntry**table;//哈希表大小unsignedlongsize;//哈希表大小掩码,用于......
  • Python-嵌套字典获取特定的键值对
    简单示例:test_data=[{"name":"路飞","age":18,"from":"Donghaisea"},{"name":"索隆","age":18,"from":"Xihaisea"}]forhzintest_data:#遍历......
  • 607. 销售员
    607.销售员2023年8月14日14:13:05607.销售员简单153相关企业SQLSchemaPandasSchema表:SalesPerson+-----------------+---------+|ColumnName|Type|+-----------------+---------+|sales_id|int||name|varchar||......
  • 20230709
    1.实现并总结容器跨主机的通信过程第一步,先修改两个主机的docker默认ip地址(--bip改成不相同的)vim/lib/systemd/system/docker.service...........ExecStart=/usr/bin/dockerd-Hfd://--containerd=/run/containerd/containerd.sock--bip=10.20.0.1/24.............第......
  • 数据集:Pascal VOC 2007数据集分析
    1VOC2007基本信息作为标准数据集,voc-2007是衡量图像分类识别能力的基准。faster-rcnn,yolo-v1,yolo-v2都以此数据集为最为演示样例,因此,有必要了解一下本数据集的组成架构。VOC数据集共包含:训练集(5011幅),测试集(4952幅),共计9963幅图,共包含20个种类。aeroplanebicyclebirdboatbo......