Python(数据类型)三

简介: python中set和字典的操作

五.Set

# set集合,set集合是无序的s= {1, 2, "小黑子", 3}
print(type(s))
print(s)
s= {1, 2, 3, "油饼食不食", []}  # unhashable type: 'list'print(s)
# 不可哈希:python中的set集合进行数据存储的时候.需要对数据进行哈希计算,根据计算出来的哈希值进行存储数据#         set集合要求存储的数据必须是可以进行哈希计算的,#         可变的数据类型,list,dict,set# 可哈希:不可变的数据类型,int,str,tuple,bools=set()  # 创建空集合s.add("一个真正的鳗")
s.add("小黑子")
s.add("ikun")
print(s)
s.pop()  # 由于集合无序,测试的时候没法验证是最后一个,print(s)
s.remove("小黑子")
print(s)
# 热想要修改,先删除,再新增s.remove("小黑子")
s.add("我家哥哥")
print(s)
foritemins:
print(item)
# 交集,并集,差集s1= {"哥哥", "下蛋", "一个真正的鳗"}
s2= {"ikun", "小黑子", "哥哥"}
print(s1&s2)  # 交集print(s1.intersection(s2))
print(s1|s2)  # 并集print(s1.union(s2))
print(s1-s2)  # 差集print(s1.difference(s2))
# 重要的作用:可以去除重复s1= {"周杰伦", "昆凌", "蔡依林", "侯佩岑"}
print(s1)
s1.add("周杰伦")
print(s1)
lst= ["周杰伦", "昆凌", "蔡依林", "侯佩岑", "周杰伦", "昆凌", "蔡依林", "侯佩岑", "周杰伦", "昆凌", "蔡依林", "侯佩岑"]
print(lst)
print(set(lst))
print(list(set(lst)))  # 去除重复之后的数据是无序的。

六.字典

1.概念

# 首先,字典是以键值对的形式进行存储数据的# 字典的表示方式:{key:value,key2:value,key3:value}dic= {"jay": "周杰伦", "鸡哥": "蔡徐坤"}
val=dic["jay"]
print(val)
# 字典的key必须是可哈希的数据类型# 字典的value可以是任何数据类型dic= {[]: 123}
print(dic)  # unhashable type: 'list'dic={"ikun":["小黑子1号","小黑子2号"]}

2.增删改查

dic=dict()
dic["ikun"] ="小黄"dic[1] ="123"dic["ikun"] ="Lee"# 覆盖前面的元素print(dic)
dic.setdefault("湖南", "臭豆腐")  # 设置默认值.如果以前已经有了湖南了,setdefault就不起作用了dic.setdefault("湖南", "胡辣汤")
print(dic)
# 删除dic.pop("jay")  # 根据key去删除print(dic)
# 查询print(dic["jay"])
print(dic.get('jay'))
print(dic["jay10086"])  # 如果key不存在,程序会报错. 当你确定你的key是没问题的,可以用print(dic.get('jay10086'))  # 如果key不存在,程序返回None. 程序返回None.当不确定你的key的时候,可以用# Nonea=None# 单纯的就是空,表示没有的意思print(type(a))
# 小案例dic= {
"小黑子1号": "油饼食不食",
"小黑子2号": "香精煎鱼",
"小黑子3号": "我家哥哥下蛋你别吃",
"小黑子4号": "一个真正的鳗",
"小黑子5号": "香翅捞饭食不食"}
name=input("输入你想看的小黑子话")
val=dic.get(name)
ifvalisNone:
print("你不是我们ikun的一员")
else:
print(val)

3.循环和嵌套

  • 循环
dic= {
"小黑子1号": "油饼食不食",
"小黑子2号": "香精煎鱼",
"小黑子3号": "我家哥哥下蛋你别吃",
"小黑子4号": "一个真正的鳗",
"小黑子5号": "香翅捞饭食不食"}
# 1.可以用for循环,直接拿到keyforkeyindic:
print(key, dic[key])
# 2.希望把所有的ky全都保存在一个列表中print(list(dic.keys()))  # 拿到所有的key了# 3.希望吧所有的value都放在一个列表中print(list(dic.values()))
# 4.直接拿到字典中的key和valueprint(dic.items())
forkey,valindic.items():   #可以拿到所有的key 和 val# key = item[0]# val = item[1]# print(key, val)#key,val = itemprint(key,val)
a, b= (1, 2)  # 元组或者列表都可以执行该操作,该操作被称为解构(解包)print(a)
print(b)
  • 嵌套
ikun= {
"name": "小黄",
"age": 20,
"quotes": {
"quote1": "油饼食不食",
"quote2": "香精煎鱼",
"hobby": {
"be1": "唱",
"be2": "跳",
"be3": "rap"        }
    },
"behave": [
        {"行为1": "唱", "哥哥1": "鲲鲲"},
        {"行为2": "跳", "哥哥2": "下蛋"},
        {"行为3": "rap", "哥哥3": "篮球"}
    ]
}
# 小黄语录的爱好的行为1be1=ikun["quotes"]["hobby"]["be1"]
print(be1)
# 小黄语录的爱好be2改为篮球ikun["quotes"]["hobby"]["be2"] ="篮球"print(ikun)
dic= {
"1号小黑子": "油饼食不食",
"2号小黑子": "香精煎鱼",
"3号小黑子": "我家哥哥下蛋你别吃",
"4号小黑子": "一个真正的鳗",
"5号小黑子": "香翅捞饭食不食"}
temp= []   # 存放即将要别除的keyforkeyindic:
ifkey.startswith("1"):
temp.append(key)      #dictionary changed size during iterationfortintemp:   #循环列表,删除字典中的内容dic.pop(t)
print(dic)
目录
相关文章
|
5月前
|
测试技术 索引 Python
Python接口自动化测试框架(练习篇)-- 数据类型及控制流程(一)
本文提供了Python接口自动化测试中的编程练习,包括计算器、猜数字、猜拳和九九乘法表等经典问题,涵盖了数据类型、运算、循环、条件控制等基础知识的综合应用。
56 1
|
1月前
|
Python
Python 中一些常见的数据类型
Python 中一些常见的数据类型
121 8
|
2月前
|
Python
Python中不同数据类型之间如何进行转换?
Python中不同数据类型之间如何进行转换?
32 6
|
2月前
|
存储 开发者 Python
Python 的数据类型
Python 的数据类型
46 6
|
3月前
|
Python
【10月更文挑战第7天】「Mac上学Python 13」基础篇7 - 数据类型转换与NoneType详解
本篇将详细介绍Python中的常见数据类型转换方法以及 `NoneType` 的概念。包括如何在整数、浮点数、字符串等不同数据类型之间进行转换,并展示如何使用 `None` 进行初始赋值和处理特殊情况。通过本篇的学习,用户将深入理解如何处理不同类型的数据,并能够在代码中灵活使用 `None` 处理未赋值状态。
73 2
【10月更文挑战第7天】「Mac上学Python 13」基础篇7 - 数据类型转换与NoneType详解
|
2月前
|
机器学习/深度学习 存储 数据挖掘
Python 编程入门:理解变量、数据类型和基本运算
【10月更文挑战第43天】在编程的海洋中,Python是一艘易于驾驭的小船。本文将带你启航,探索Python编程的基础:变量的声明与使用、丰富的数据类型以及如何通过基本运算符来操作它们。我们将从浅显易懂的例子出发,逐步深入到代码示例,确保即使是零基础的读者也能跟上步伐。准备好了吗?让我们开始吧!
41 0
|
3月前
|
编译器 数据安全/隐私保护 Python
Python--基本数据类型
【10月更文挑战第4天】
|
3月前
|
存储 Python
python数据类型、debug工具(一)
python数据类型、debug工具(一)
|
3月前
|
Python
[oeasy]python036_数据类型有什么用_type_类型_int_str_查看帮助
本文回顾了Python中`ord()`和`chr()`函数的使用方法,强调了这两个函数互为逆运算:`ord()`通过字符找到对应的序号,`chr()`则通过序号找到对应的字符。文章详细解释了函数参数类型的重要性,即`ord()`需要字符串类型参数,而`chr()`需要整数类型参数。若参数类型错误,则会引发`TypeError`。此外,还介绍了如何使用`type()`函数查询参数类型,并通过示例展示了如何正确使用`ord()`和`chr()`进行转换。最后,强调了在函数调用时正确传递参数类型的重要性。
33 3
|
4月前
|
存储 Java C++
30天拿下Python之数据类型
30天拿下Python之数据类型
46 4