Python之学习总结第三天

时间:2022-06-20 20:52:13

字符串操作、字典、列表、集合、文件的基础知识。

# 字典转换为列表
#print(info.items() )

#info['stu1104']
# 设置一个值,如果存在则返回,否则插入
info.setdefault('nihao ':'baidu')
# 查找用的方法,如果不存在也不会报错的。
#print(info.get('stu1103'))

#有交叉就覆盖,没有交叉就创建一个新的
x ={
'a ': '1',
'b ': '2'
}
info.update(x )

# fromkeys就是初始化一个列表
y = dict.fromkeys([1,2,3],'test')

#print('stu1103' in info)

# 删除的操作
info.pop("stu1101")
info.popitem()


info = {
'stu1101': "Wu",
'stu1102': "Luola",
'stu1103': "Maliya",
}

# 当数据量大时,此方法比较高效
for i in info:
print(i,info[i])


for k,v in info.items():
print(k,v)

# 三级菜单使用。
data = {
'北京':{
"昌平":{
"沙河":["oldboy","test"],
"天通苑":["链家","我爱我家"]
},
"朝阳":{
"望京":["奔驰","陌陌"],
"国贸":{"CICC","HP"},
"东直门":{"Advent","飞信"},
},
"海淀":{},
},
'山东':{
"德州":{},
"青岛":{},
"济南":{}
},
'广东':{
"东莞":{},
"常熟":{},
"佛山":{},
},
}
exit_flag = False

while not exit_flag:
for i in data:
print(i)
choice = input("选择进入1>>:")
if choice in data:
while not exit_flag:
for i2 in data[choice]:
print("\t",i2)
choice2 = input("选择进入2>>:")
if choice2 in data[choice]:
while not exit_flag:
for i3 in data[choice][choice2]:
print("\t\t", i3)
choice3 = input("选择进入3>>:")
if choice3 in data[choice][choice2]:
for i4 in data[choice][choice2][choice3]:
print("\t\t",i4)
choice4 = input("最后一层,按b返回>>:")
if choice4 == "b":
pass
elif choice4 == "q":
exit_flag = True
if choice3 == "b":
break
elif choice3 == "q":
exit_flag = True
if choice2 == "b":
break
elif choice2 == "q":
exit_flag = True
# 列表和元组都是有序的。# 列表的增删改查# 元组可以查# 字符串不可以修改,知识产生新的内容代替了原来的String。# 列表可以嵌套任何东西。# 字典同样可以嵌套。# Next:集合、文件、字符编码与转换。# 集合作用:去除重复的元素。即元素存在于两个列表之中。# 交集元素(去重)# 集合:关系测试,两者之间的关系。list_1 = [1,5,6,9,8,7]list_1 = set(list_1)list_2 = set([2,5,6,3,4,7,8])print(list_1, type(list_1),list_2)# 交集list_1.intersection(list_2)list_1 & list_2# 并集list_1.union(list_2)list_1 | list_2# 差集(两者相互)list_1.difference(list_2)list_2.difference(list_1)list_1 - list_2list_2 - list_1# 子集(subset and upperset)list_1.issubset(list_2)list_1.issuperset(list_2)# 对称差集list_1.symmetric_difference(list_2)list_1 ^ list_2# 判断是否有交集list_1.isdisjoint(list_2)# 集合只有添加list_1.add(001)list_1.update([002,003,004])# 删除list_1.remove('001')# 判断是否存在集合中x in list_1x not in list_1# 随机删除,并返回list_1.pop()# 指定一个值,删除,没有此元素返回None,不会像remove一样报错。list_1.discard()