python基础分享(三)

一、字典dict

字典:通过{}括起来,元素以key:value(键值对)的方式来表示,元素与元素之间通过,隔开

info={‘name’:“郭然然”,“id”:“ms01”,“adress”:""}

1、字典定义

注意事项

key必须是唯一的,value可以不唯一

key必须是不可变数据类型,比如key可以number/string

2、如何获取字典中元素

3、修改字典某个元素(新增,删除,修改)

4、字典的常用的内置函数

len()

str() 字典转化为字符串

fromkeys(seq,默认值)

pop(key) 根据给定的key进行删除

popitem() 删除字典中最后的一对键值对

get(key)

setdefault(key,默认值) 类似get方法,获取元素的值,

但是当key不存在,则添加key并,默认为None,否则取默认值

keys() 获取字典所有的key

values() 获取字典所有的value

items() 同时获取key,value的值

update(dict2) dict2的数据更新到字典中

info={'name':"郭然然","id":"ms230","adress":"上海"}
print(type(info))
print(info)
# 获取元素
value1=info["adress"]
print(value1)

adress=info.get("adress")
print(adress)

# 3、修改字典某个元素(新增,删除,修改)
# 修改
info["id"]="MS230"
print(info)
# 新增
info['class']=212
print(info)
# 删除
del info['class']
print(info)
# 删除所有的元素
# info.clear()
print(info)

"""
4、字典的常用的内置函数
"""
print(info)
count=len(info)
str_info=str(info)
print(count)
print(str_info,type(str_info))

# 数据的初始化 很多的数据都是获取这么一些字段的信息
infolist=["name","sid","adress","classname","work_age"]
# 初始化这样的字典数据
yumz=dict.fromkeys(infolist,"1")
print(yumz)
yumz["name"]='yumz'
AA=dict.fromkeys(infolist)
AA["name"]='AA'
AA["work_age"]="2"
print(yumz)
print(AA)

value=AA.pop('classname')
print(value)
print(AA)
AA.popitem()
print(AA)

name=AA.setdefault("name")
print(name)
value=AA.get("classname")
print(value)
value2=AA.setdefault("classname","212")
print(value2)
print(AA)

work_age=AA.get("work_age")
print(work_age)
print("执行get返回的字典数据",AA)

value3=AA.setdefault("work_age")
print(value3)
print("执行setdefault返回的字典数据",AA)

print(AA)
keys=AA.keys()
print(keys,type(keys))
for key in keys:
    print("键:",key)

values=AA.values()
print(values,type(values))
for key in values:
    print("值:",key)

key_value=AA.items()
print(key_value,type(key_value))
for key,vale in key_value:
    print(f"键:{key},值:{vale}")
info1={'name':"郭然然","id":"ms230","adress":"上海"}
info2={'name':"郭然然2","pre_xz":"15k","bre_xz":"20k","gs":"zjtd"}

# 同时有多个数据实现修改?
info1.update(info2)
print(info1)

二、集合

集合 set

1、定义集合:可以存储多个元素,元素与元素之间通过逗号隔开,元素用{}括起来, 集合是一

个无序的不重复元素的序列

特点:

自动去重,并且数据类型是不可变数据类型

空集合:set1=set()

2、集合的操作

添加元素add

移除元素remove

获取元素的个数 len

数学:集合常用运算操作

交集 a & b 得到两个集合中都有的元素

并集 a | b 返回集合的元素包含a和b集合中的所有元素

异或 a^ b

差集 a-b

# 定义空集合
set1=set()
print(set1,type(set1))
# 非空集合
set2={1,2,3,4,51,5,(1,2,3),"yangyang"}
print(set2,type(set2))

set1.add("jeffery")
print(set1)

set1.remove("jeffery")
print(set1)

set3={1,1,2,3,4,5,10,10}
count=len(set3)
print("集合的个数:",count)
print(set3)

print("a交集b")
a={1,2,3,4,5}
b={6,7,8,9,10,1,2,3}
new1=a & b
new2=a.intersection(b)25
print(new1)
print(new2)

print("a并集b:")
a={1,2,3,4,5}
b={6,7,8,9,10,1,2,3}
new2=a.union(b)
new1=a | b
print(new1)
print(new2)

print("a异或b:")
a={1,2,3,4,5}
b={6,7,8,9,10,1,2,3}
new1=a^ b
# new2=a.difference(b)
new2=a.symmetric_difference(b)
print(new1)
print(new2)
# 异或:不同时包含a和b的元素
print("b差集a:")
a={1,2,3,4,5}
b={6,7,8,9,10,1,2,3}
new1=b‐a
# new2=a.difference(b)
print(new1)