找回密码
 立即注册

推荐阅读

  • 便民服务
  • 关注我们
  • 社区新手
""""""
"""
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)




分享至 : QQ空间
收藏

0 个回复

您需要登录后才可以回帖 登录 | 立即注册