首页 > 其他分享 >set集合 and 字典 笔记

set集合 and 字典 笔记

时间:2024-03-25 20:59:06浏览次数:28  
标签:set 笔记 dic value key print 陈超 字典

set()集合

S = {1,"你好",2,3}
print(type(s))
print(s)

不可哈希:python中的set集合进行数据存储的时候。需要对数据进行哈希计算,根据计算出的哈希值进行数据存储

set集合要求存储必须是可以进行哈希计算的

可哈希:不可变的数据类型,int, str,tuple,bool

不可哈希:可变的数据类型,klist,dict,set

S = set()#创建空集合
s.add("阿布")
s.add("补充")
print(s)

增 删

s = set()
s.add("阿布")
s.remove("阿布")
s.add("CC")
print(s)

交集,并集,差集

s1 = ("阿布","陈超","老八")
s2 = ("等等","陈超","老八")
print(s1&s2)#交集
print(s1.difference(s2))
print(s1|s2)#并集
print(s1.union(s2))
print(s1-s2)#差集
print(s1.difference(s2))
#去除重复
list["陈超","老八","阿布""陈超","老八","阿布""陈超","老八","阿布"]
print(list)
print(set(list))
print(list(set(list)))#缺点:去除重复之后的数据是无序的

字典 dic

字典是以键值对的形式进行存储数据的

1.字典的表示方式:{key:value,key:value}

dic = {"jay":"阿布","陈超":"老八"}
val = dic["jay"]
val = dic["陈超"]#用起来只是把索引换成了key
#字典的key必须是可哈希的数据类型
#dic = {[]:123}
#print(dic)

2.字典的 增删改查

dic = dict()
dic["x"] = "陈超"
dic[y] = 123
print(dic)
dic[x] = "老八"#此时,字典中已经有了x,此时执行的为 修改操作
print(dic)
dic.setdefault("x","阿布")#设置默认值,如果以前有了x了,setdefault就不起作用了
print(dic)

删除

dic.pop("x")#根据key删除
print(dic)

查询

print(dic"x")#如果key不存在,程序会报错
print(dic.get(x))

None

#a = None #单纯的空,表示没有,当不确定key的时候,可以使用
#print(type(a))
#例子
dic = {

     "阿布":"喜欢lol"
     "陈超":"喜欢吃鸡"
     "老八":"喜欢金铲铲"
     
}
input(请输入想知道的人:")
val = (dic.get(name))
if val is None
     print("没有这个人")
    else:
        print(val)
#None 可以让程序更流畅

3.循环和嵌套   (仍使用上面的代码)

(1). 可以使用for循环,直接key

for key in dic:
    print(key,dic[key])

(2)把所有的key全都保存在一个列表中

print(list(dic.key()))

(3).把所有的value都放在一个列表中

print(list(dic.value()))

(4).直接拿到字典中的key和value

for item in dic.items():
    key = item [0]
    value = item[1]
    print(key,value)
a,b = (1,2)#解构(解包),元组和列表都可以进行该操作
print(a)
print(b)
dic = {

     "阿布":"喜欢lol"
     "陈超":"喜欢吃鸡"
     "老八":"喜欢金铲铲"
     
}
input(请输入想知道的人:")
val = (dic.get(name))
if val is None
     print("没有这个人")
    else:
        print(val)
#for item in dic.items():
#print(item)#确定item中只有两项元素 
# key,value = item
#print(key,value)
for key, value in dic.items():
print(key,value)#可以直接拿到字典的key,value(最简单方法)
#模板 
#for key,value in dic.items():
#    print (key,value)

嵌套

# 创建一个字典,表示学校的各个班级
school_classes = {
    'Class 1': {
        'students': ['Alice', 'Bob', 'Charlie'],
        'teacher': 'Miss Smith'
    },
    'Class 2': {
        'students': ['David', 'Emily', 'Frank'],
        'teacher': 'Mr. Johnson'
    },
    'Class 3': {
        'students': ['Grace', 'Henry', 'Isabella'],
        'teacher': 'Mrs. Davis'
    }
}

# 访问特定班级的学生列表
class_1_students = school_classes['Class 1']['students']
print(class_1_students)  # 输出: ['Alice', 'Bob', 'Charlie']

# 访问特定班级的老师姓名
class_2_teacher = school_classes['Class 2']['teacher']
print(class_2_teacher)  # 输出: Mr. Johnson

# 添加一个新班级到学校字典中
new_class = {
    'students': ['Jack', 'Katherine', 'Liam'],
    'teacher': 'Ms. Thompson'
}
school_classes['Class 4'] = new_class

# 打印整个学校字典,包括新添加的班级
print(school_classes)

标签:set,笔记,dic,value,key,print,陈超,字典
From: https://blog.csdn.net/2301_81683426/article/details/137023050

相关文章

  • 高维前缀和/SOS DP 学习笔记
    JOISC2023D2T2Council注意到,钦定一个人为主席后,对于此时得票数大于\(\lfloor\frac{n}{2}\rfloor\)的议案,不管怎么选副主席,均能通过;对于此时得票数小于\(\lfloor\frac{n}{2}\rfloor\)的议案,不管怎么选副主席,均不能通过。所以需要考虑的只有此时得票数恰好等于\(\lfloo......
  • 代码随想录第六天: 哈希表(数组+HashSet+HashMap)
    语言:Java参考资料:代码随想录、ChatGPT3.5当我们遇到了要快速判断一个元素是否出现集合里的时候,就要考虑哈希法。但是哈希法也是牺牲了空间换取了时间,因为我们要使用额外的数组,set或者是map来存放数据,才能实现快速的查找。如果在做面试题目的时候遇到需要判断一个......
  • 刷题笔记 3.25
    ABC254C题:给定一个长为n的数列,给定k,可以进行的操作是:交换a[i]和a[i+k],可以进行任意多次,问能否sort成一个非递减数列?我当时的思路:因为我们是知道最后的数列的样子的,然后就思考:“这个数怎么变过来?可以变吗?”然后就发现好像只需要最后的非递减数列的每一个数在原数列中的对应下标......
  • 牛客周赛 Round 38做题笔记
    一.题目链接登录—专业IT笔试面试备考平台_牛客网牛客网是互联网求职神器,C++、Java、前端、产品、运营技能学习/备考/求职题库,在线进行百度阿里腾讯网易等互联网名企笔试面试模拟考试练习,和牛人一起讨论经典试题,全面提升你的技术能力https://ac.nowcoder.com/acm/contest/78......
  • 学习笔记之算法快速排序
    快速排序听说有的公司面试会考?0.0快速排序思想:分治法基本思想:1、从数列中选出一个数2、分区(遍历),比它大的放他右边,比它小的或者等于的,放他左边3、对左右区间重复第2步,直到区间只有一个数(递归)参考:快速排序|菜鸟教程(runoob.com)在该网站......
  • Vue学习笔记59--store(getters + )
    store(getters) 示例一:Count.vue<template><div><h3>当前求和为:{{$store.state.sum}}</h3><h3>当前求和*10为:{{$store.getters.bigSum}}</h3><!--<selectv-model="selectNo"><option:va......
  • 学习笔记-d2l
    2.1TensorFlow中的Tensors是不可变的,也不能被赋值。TensorFlow中的Variables是支持赋值的可变容器。请记住,TensorFlow中的梯度不会通过Variable反向传播。如果我们用Y=X+Y,我们将取消引用Y指向的张量,而是指向新分配的内存处的张量。assign将一个操作的结果分配给一个Var......
  • Vue学习笔记58--vuex
    vuex专门在Vue中实现集中式状态(数据)管理的一个Vue插件,对Vue应用中多个组件的共享状态进行集中式的管理(读/写),也是一种组件间通信的方式,且适用于任意组件间通信。Github地址:https://github.com/vuejs/vuex什么时候使用Vuex多个组件依赖于同一状态来自不同组件的行为需要......
  • 如何读论文 李沐视频笔记
    前言内容不多,但姑且记下来加深印象好了[视频链接](https://www.bilibili.com/video/BV1H44y1t75x/?spm_id_from=333.788&vd_source=0e55873fcd6a0d01839a7f7f37c36254)内容总概读论文的重点在于筛选出适合自己的论文,通过三遍阅读来找出并吸收论文大致分为1、标题title2、摘......
  • Python学习:字典
    Python字典概念在Python中,字典(Dictionary)是一种无序、可变、键值对(key-valuepairs)存储结构的数据类型。字典使用大括号{}来表示,其中每个键值对用冒号:分隔,键和值之间用逗号,分隔。以下是一个简单的字典示例:my_dict={"name":"Alice","age":30,"city":"NewYork"......