""""""
"""
dict :字典的数据类型(序列),存储值的方式和list 和tuple
他里面的数据并不是单个值存储的,是以key:value 的格式存储
key:数据的键(名称),key 不能重复,是唯一的。
value :对应键名的值,value可以重复
dict字典的表达式:{}
"""
# dict1 = {"key":"value","湖北":"武汉","湖南":"长沙"}
# print(dict1)
# # 输出结果 :{'key': 'value', '湖北': '武汉', '湖南': '长沙'}
# print(type(dict1)) # <class 'dict'>
"""数据类型的转换关系:
dict tuple list 数据类型之间的转换
dict 可以转换为list和tuple 但是只会保留对应的key,不会存储dict的value
tuple 不可以转换为dict 但是可以转换为list
"""
# dict1 = {"key":"value"}
# print(type(dict1))
# dict1 = list(dict1)
# print(type(dict1))
# print(dict1)
# list1 = [1,2,3,4,5]
# list1 = dict(list1)
# print(list1)
#多维数组(包含多种数据序列类型)
# list1 = [("湖北","武汉"),("湖南","长沙")]
# print(type(list1))
# list1 = dict(list1)
# print(list1)
"""(zip函数:打包函数,可以将数据打包成数组类型)
转换完成之后他是一个打包对象,需要手动转换数据
如果两组数据不一致时,只会打包相通数据的值,不一致的值
不会被处理
"""
#
# list1 = ["湖北","武汉"]
# list2 = ["湖南","长沙"]
# a = zip(list1,list2)
# print(a) # <zip object at 0x012E3F80>
# print(tuple(a))
# # {'湖北': '湖南', '武汉': '长沙'}
""" dict 不能进行索引和切片的操作,她的[]是传key的
1、可以通过key 来查找对应的value属性
2、可以通过key 来修改值
3、可以通过key 来进行赋值
"""
# dict1 = {"湖北":"武汉","湖南":"长沙","江西":"南昌"}
# dict1["湖北"] = '黄鹤楼' 修改值
# print(dict1)
# dict1["浙江"] = "皮革厂" 赋值
# print(dict1) # {'湖北': '黄鹤楼', '湖南': '长沙', '江西': '南昌', '浙江': '皮革厂'}
"""dict 函数 :keys :取键的操作 """
# dict1 = {"湖北":"武汉","湖南":"长沙","江西":"南昌"}
# print(dict1.keys())
# 方法二 : 可以通过循环语句取值 :for 遍历查找,可以是任意的序列
# 遍历循环完成之后可以退出循环
# for i in dict1:
# print(i)
# # 方法三,通过for循环 结合关键字处理
# for i in dict1.keys():
# print(i)
"""dict 取值的操作 values 方法取所有的值"""
# dict1 = {"湖北":"武汉","湖南":"长沙","江西":"南昌"}
# print(dict1.values())
# 方法二
# for i in dict1.values():
# print(i)
# 方法三 :
# for i in dict1:
# print(dict1[i])
"""dict 取键值的操作,items"""
# dict1 = {"湖北":"武汉","湖南":"长沙","江西":"南昌"}
# print(dict1.items())
# for k,v in dict1.items():
# print(k,v)
# for i in dict1:
# print(i,dict1[i])
"""dict update :更新dict 合并两个dict """
# dict1 = {"湖北":"武汉"}
# dict2 = {"湖南":"长沙"}
# dict1.update(dict2)
# print(dict1)
""" setdefault :添加值,但是不能修改值 """
# dict1 = {"湖北":"武汉"}
# dict1["湖南"] = "长沙"
# dict1.setdefault("江西","南昌")
# dict1.setdefault("湖北","长江")
# print(dict1)
""" get :通过键取值"""
# dict1 = {"湖北":"武汉"}
# print(dict1["湖北"])
# print(dict1.get("湖北"))
""" python 2 和 python 3 区别 :
has_key :判断当前键是否存在 2
__contains__:判断当前键是否存在 3
返回布尔值
"""
# dict1 = {"湖北":"武汉"}
# print(dict1.__contains__(""))
""" clear :清空dict"""
# dict1 = {"湖北":"武汉"}
# dict1.clea()
# print(dict1)r
"""popitem :删除值,默认只能删除最后一个键值"""
# dict1 = {"湖北":"武汉","湖南":"长沙","江西":"南昌"}
# dict1.popitem()
# print(dict1)
# """del 删除多个值用逗号隔开 """
# dict1 = {"湖北":"武汉","湖南":"长沙","江西":"南昌"}
# #
# # del dict1["湖北"],dict1["湖南"]
# # print(dict1)
#
# """pop 删除方法,利用键来删除"""
# dict1.pop("湖北")
# print(dict1)
"""set 集合:
set 集合也是一个无序的序列:里面的数据没有顺序的
sel分为可变集合:可变几个里面的内容,都是可以被更改的
frozenset:不可变集合 :可变几个里面的内容,里面的内容是写保护的
是不可以被更改的。
共同的特点:去重
表达式都是{}
不可以被操作索引和切片
"""
#定义一个不可变的集合
# set1 = {1,1,2,2,3,4,5}
# print(set1) #{1, 2, 3, 4, 5}
# print(
# type(set1)
# ) # <class 'set'>
#
# set1.add("武汉多测师")
# print(set1)
# set1.remove(3)
# print(set1)
#定义一个不可变的集合
# set1 = [1,1,2,2,3,3,4,3,5,5]
# print(set1)
# set1 = frozenset(set1)
# print(set1)
# print(type(set1)) # <class 'frozenset'>
"""
总结 : 面试过程中也会问的比较多的面试问题
list str tuple dict set 都是序列,分为有序和无序(散序)
list str tuple 属于有序序列 支持索引和切片
set dict frozenset 属于无序序列 不支持索引和切片
可变的数据类型 :list set dict 里面的内容是可以被操作的
不可变的数据类型:int float tuple frozenset bool(布尔值) 值不能直接进行修改
"""
""" if 判断条件语句:
单分支if 语句 :只有一个if
多分支if 语句 :多个if条件
if语句条件成立则指向下面的语句。
else 其他场景情况
"""
# 单分支 if 语句
# a = 10
# if a ==10:
# print("当前a的值:%s"%a)
# else:
# print("当前a的值不等于10")
# 多分支语句
# a = 103
#
# if a>1 :
# print("当前a的值:%s 大于10"%a)
# elif a<10 :
# print("当前a的值:%s 小于10"%a)
# elif a == 10:
# print("当前a的值:%s 等于10"%a)
# a = 10
# b = 10
# c = 10
# # 使用多个and条件
# if a == all((b,c)):
# print("ok")
# else:
# print("条件不满足")
"""三目运算 :也叫三元表达式 : 他只是用if单分支语句
先写判断成功执行的内容,再去写判断语句,然后是else语句
"""
# a = 101
# if a ==10:
# print("当前a的值:%s"%a)
# else:
# print("当前a的值不等于10")
# print("当前a的值:%s" % a) if a ==10 else print("当前a不等于10")
"""
1.需求:
有一个登陆功能:需要输入用户名,然后判断当前用户名是否为admin,条件不
成立输出:账号错误
条件成立则输入password 密码,然后对密码进行判断,判断密码是否为
123456,如果条件成立打印登陆成功,条件不成立,打印密码错误
2.当前有一个dict = {"湖北":"刘亦菲","新疆":"迪丽热巴"
判断当前的dict当中有没有香港这个key 如果存在则打印dict1
如果不存在香港这个key 则添加:香港:李嘉欣 输出dict2
有字典 dic = {"k1": "v1", "k2": "v2", "k3": "v3"},实现以下功能:
3、添加一个键值对"k4","v4",输出添加后的字典 dic
dic = {"k1": "v1", "k2": "v2", "k3": "v3"}
dic.setdefault("k4", "v4")
print(dic)
4、删除字典 dic 中的键值对"k1","v1",并输出删除后的字典 dic
dic = {'k1': 'v1', 'k2': 'v2', 'k3': 'v3', 'k4': 'v4'}
dic.pop("k1")
list = [['k', ['qwe', 20, {'k1': ['tt', 3, '1']}, 89], 'ab']]
(1)将列表中的‘tt’变成大写(两种方式)
(2)将数字 3 变成字符串 ‘100’(两种方式)
(3)将列表中的字符串‘1’变成数字101(两种方式)
"""
# 1.需求:
# 有一个登录功能:需要输入用户名,然后判断当前的用户名是否为admin,条件不成立
# 输出:账号错误.条件成立则输入password 密码 ,然后对密码进行判断.判断密码是
# 否为123456如果条件成立打印登录成功,条件不成立,打印密码错误
# 第一题 嵌套 if
user = input("请输入用户名:")
if user != 'admin':
print("账号错误")
else :
b = input("请输入密码:")
if b !='123456':
print("密码错误")
elif b =='123456':
print("登陆成功")
"""
# 2.当前有一个dict1 = {"湖北":"刘亦菲","新疆":"迪丽热巴"}
# 判断当前的dict 当中有没有香港这个key 如果存在则打印dict1,
# 如果不存在香港这个key则添加 香港:李嘉欣 输出dict1 """
# dict1 = {"湖北":"刘亦菲","新疆":"迪丽热巴"}
#
# if "香港" in dict1:
# print(dict1)
# else:
# dict1["香港"] = "李嘉欣"
# print(dict1)
# if dict1.__contains__("香港"):
# print("dict1 当中有 香港:%s"%dict1)
# else:
# dict1["香港"] = "李嘉欣"
# dict1.setdefault("香港","李嘉欣")
# print(dict1)
# 有字典 dic = {"k1": "v1", "k2": "v2", "k3": "v3"},实现以下功能:
# 3、添加一个键值对"k4","v4",输出添加后的字典 dic
#
# dic = {"k1": "v1", "k2": "v2", "k3": "v3"}
# dic ["k4"]= "v4"
# print(dic)
# dic = {"k1": "v1", "k2": "v2", "k3": "v3"}
# dic.setdefault("k4", "v4")
# print(dic)
#
# 4、删除字典 dic 中的键值对"k1","v1",并输出删除后的字典 dic
# dic.pop("k1")
# print(dic)
# dic = {'k1': 'v1', 'k2': 'v2', 'k3': 'v3', 'k4': 'v4'}
# dic.pop("k1")
#
# list = [['k', ['qwe', 20, {'k1': ['tt', 3, '1']}, 89], 'ab']]
# (1)将列表中的‘tt’变成大写(两种方式)
# list[0][1][2]['k1'][0] = list[0][1][2]['k1'][0].upper()
# print(list)
#
# list[0][1][2].get('k1')[0] = list[0][1][2].get('k1')[0].upper()
# print(list)
# list[0][1][2]['k1'][0] = "TT"
# print(list)
# (2)将数字 3 变成字符串 ‘100’(两种方式)
# list[0][1][2]['k1'][1] = "100"
# print(list)
#
# list[0][1][2].get('k1')[1] = '100'
# print(list)
# list = str(list)
# print(list)
# # print(type(list))
# print(list.index("3"))
# print(list.replace(list[33],"100"))
# (3)将列表中的字符串‘1’变成数字101(两种方式)
# list[0][1][2]['k1'][2] = 101
# print(list)
# list = [['k', ['qwe', 20, {'k1': ['tt', 3, '1']}, 89], 'ab']]
# list[0][1][2].get('k1')[2] = 101
# print(list)
|
|