西安1班_张国玮 发表于 2022-4-14 21:56:56

4.14 Python

# 一. pyrhon中的列表
#列表是一个容器,可以用来装任何类型的数据,是一个有序的序列 用list表示,表达式为list =[]
# 定义一个列表
# list1 = ["baisuishan","xian01","banli",19990]
# print(list1)#['baisuishan', 'xian01', 'banli', 19990]
# print(type(list1))<class 'list'> 数据类型为list 列表
# 运用list()函数把字符串转换成列表
# str1 = "baisuishan"
# list1 = list(str1)
# print(list1)['b', 'a', 'i', 's', 'u', 'i', 's', 'h', 'a', 'n']
# print(type(list1))<class 'list'>

# 列表中常用的函数用法
# 1、索引赋值
# list1 = ["xian01","banli","test",19990]
# list1 = "shanxi"
# print(list1) # ['xian01', 'shanxi', 'test', 19990]把shanxi给到列表索引位置为1的地方

# 2、切片赋值
# list1 = ["xian01","banli","test",19990]
# list1 = "qiepian"
# print(list1) # ['xian01', 'q', 'i', 'e', 'p', 'i', 'a', 'n'

# 3、在列表末尾添加一个值,可以添加任何数据类型的值 append()
# list1 = ["xian01","banli","test",19990]
# list1.append("nihao")#添加一个nihao 的字符串str
# list1.append(66666)#添加一个66666的整型int
# list1.append(["zhang"]) #添加一个zhang 的列表list
# print(list1)   #['xian01', 'banli', 'test', 19990, 'nihao', 66666, ['zhang']]

# 4、extend() 连接两个列表,变成一个列表,把连个列表中的所有内容整合到一个列表中
# 不能与int类型进行整合
# list1 = ["ni"]
# list2 = ["hao"]
# list1.extend(list2)
# print(list1)['ni', 'hao']

# list1 = ["ni"]
# list2 = "55555"#有双引号代表它是一个字符串并不是int整型
# list1.append(list2)
# print(list1)

# 5、insert() 根据索引位置添加值到列表中 可以添加任何类型的数据
# list1 = ["xian01","banli","test",19990]
# list1.insert(0,"xian99")#['xian99', 'xian01', 'banli', 'test', 19990]
# print(list1)

# 6、index() 查看列表内容的索引值
# list1 = ["xian01","banli","test",19990]
# index1 = list1.index("banli")
# print(index1)   #1

# 7、remove() 移除列表中的元素 就是删除,根据列表的value值删除
# list1 = ["xian01","banli","test",19990]
# list1.remove("test")
# print(list1)['xian01', 'banli', 19990]

# 8、del 关键字 根据索引删除列表元素
# list1 = ["xian01","banli","test",19990]
# del list1
# print(list1)['xian01', 'test', 19990]
# 根据切片删除
# del list1
# print(list1)['xian01']

# 9.sort() 可以对列表进行排序
# 只会对全部是int类型或者全部是str类型默认进行升序排列
# 排列的顺序是根据ascii编码进行的排列的顺序是数字0-9~大写字母A-Z~小写字母a-z

# 如果全部为str类型:
# list1 = ["xian01","banli","test","19990"]
# list1.sort()
# print(list1)['19990', 'banli', 'test', 'xian01']

# 如果全部为int类型:
# list1 =
# list1.sort()
# print(list1)   

# 因为默认是升序排列,如果要降序就需要在sort加入参数reverse=True:
# list1 =
# list1.sort(reverse=True)
# print(list1)

# 10.sorted() 也是给列表中的元素进行降序或升序排列
# 升序 reverse=False
# 降序 reverse=True

# 降序:
# list1 = ["xian01","banli","test","19990"]
# list2 = sorted(list1,reverse=True)
# print(list2)['xian01', 'test', 'banli', '19990']

# 升序:
# list1 = ["xian01","banli","test","19990"]
# list2 = sorted(list1,reverse=False)
# print(list2)   ['19990', 'banli', 'test', 'xian01']
# 注:sorted()与sort()的区别:sort()的作用是排序的动作不会产生新的列表
# sorted()排序之后会产生一个新的排序之后的列表

# 11.reverse()翻转列表
# list1 = ["xian01","banli","test","19990"]
# list1.reverse()
# print(list1)['19990', 'test', 'banli', 'xian01']
# 也可以使用切片中的负步长进行翻转列表
# list1 = ["xian01","banli","test","19990"]
# print(list1[::-1])['19990', 'test', 'banli', 'xian01']

# 12.pop() 删除列表中的元素
# 根据索引的位置进行删除如果不输入索引,默认删除列表最后一个元素
# 可以打印出被删除的元素
# 可以打印出 被删除之后的列表中的元素
# list1 = ["xian01","banli","test","19990"]
# print(list1.pop(1)) # banli打印被删除的值banli
# # print(list1)# ['xian01', 'test', '19990'] 打印删除之后列表中的元素

# 二. python中的元组
# 元组用tuple代表表达式为 tuple = ()
# 元组是一个写保护的数据类型,创建出来忠厚里面的元素不能被修改 是有序的
# 定义一个元组
# tuple1 = ("nihao","xian01",6,["baisuishan"],19990)
# print(tuple1)('nihao', 'xian01', 6, ['baisuishan'], 19990)
# print(type(tuple1))<class 'tuple'> 数据类型为元组
# 如果元组中只有一个值的话,需要在后面加上一个逗号,
# tuple1 = ("xian01",)
# print(tuple1)('xian01',)
# print(type(tuple1)) <class 'tuple'>

# 在元组中使用索引和切片
# tuple1 = ("nihao","xian01",6,["baisuishan",20010],19990)
#索引print(tuple1)# xian01
#切片 print(tuple1)# ('nihao', 'xian01')

# 元组中的值不能直接更改,可以先把元组转换成列表,对列表进行修改后再转换成元组进行间接更改:
# tuple1 = ("nihao","xian01",6,["baisuishan"],19990)
# list1 = list(tuple1)用list()函数把tuple1元组转换成列表
# list1 = "zhang"
# tuple2 = tuple(list1) 用tuple()函数把list1列表转换成元组
# print(tuple2)# ('nihao', 'zhang', 6, ['baisuishan'], 19990)

# 元组中的元素作为一个整体的情况下是不能被改变的
# 但是当元组中的某个元素为列表的时候,可以通过索引把列表取出来进行修改
# tuple1 = ("nihao","xian01",6,["baisuishan",20010],19990)
# 元组tuple1中的["baisuishan",20010]为一个列表
# tuple1 = "nice"
# print(tuple1) # ('nihao', 'xian01', 6, ['nice', 20010], 19990)

# 可以用for循环对元组进行迭代取值
# tuple1 = ("nihao","xian01",6,["baisuishan",20010],19990)
# for g in tuple1:
#   print(g)   nihao
#                xian01
#                6
#                ['baisuishan', 20010]
#                19990

# 三.python中的字典
# 字典用dict表达表达式为 dict1={}用大括号
# 字典是无序的,以键值对的形式进行存储 key:value
# 定义一个字典:
# dict1 = {"name":"laozhang","age":66}
# print(dict1)   # {'name': 'laozhang', 'age': 66}
# print(type(dict1))#<class 'dict'> 数据类型为字典
# 定义字典也可以用dict()函数来定义:
# test = [("name","laozhang"),("age",66)]
# dict1 = dict(test)
# print(dict1)# {'name': 'laozhang', 'age': 66}
# print(type(dict1))# <class 'dict'>

# 添加一个键值对
# 如果字典中已经存在要添加的某个键的话,那么只会对那个键的值进行修改,如果没有则添加键值对
# dict1 = {"name":"laozhang","age":66}
# dict1["phone"] = 1666666666
# print(dict1)# {'name': 'laozhang', 'age': 66, 'phone': 1666666666}

# 通过for循环去字典取得所有的键
# dict1 = {"name":"laozhang","age":66}
# for g in dict1:
#   print(g)name
#               age

# for循环中加入修饰函数keys() 取键
# dict1 = {"name":"laozhang","age":66}
# for g in dict1.keys():
#   print(g)   name
#                age

# for循环中加入修饰函数values(),取值
# dict1 = {"name":"laozhang","age":66}
# for g in dict1.values():
#   print(g)   laozhang
#                66

# 取出字典中具体的值只能通过键才能取
# dict1 = {"name":"laozhang","age":66}
# print(dict1["name"])laozhang

# setdefault() 给字典中添加键值对
# 添加的元素已经存在字典中,则添加无效
# 当添加键的时候不写值,值默认为None
# dict1 = {"name":"laozhang","age":66}
# dict1.setdefault("phone",16666666666)
# print(dict1)   # {'name': 'laozhang', 'age': 66, 'phone': 16666666666}

# 删除字典中的元素,根据键来删除值 使用del关键字
# dict1 = {"name":"laozhang","age":66}
# del dict1["name"]
# print(dict1)# {'age': 66}

# 使用del关键字删除整个字典
# dict1 = {"name":"laozhang","age":66}
# del dict1
# print(dict1)#name 'dict1' is not defined 找不到名为dict这个字典代表字典已被删除

# pop()函数根据键删除对应的值
# dict1 = {"name":"laozhang","age":66}
# print(dict1.pop("name"))# laozhang 打印被删除的值
# print(dict1)# {'age': 66}

# clear() 清空字典中所有的数据
# dict1 = {"name":"laozhang","age":66}
# dict1.clear()
# print(dict1)# {}

# 使用for循环取字典中的键与值
# dict1 = {"name":"laozhang","age":66}
# for g in dict1:
    # print(g,dict1)   name laozhang
    #                     age 66   通过g循环取值,通过键取对应的值

# 给fot循环加上修饰函数items() 取字典中的键与值
# dict1 = {"name":"laozhang","age":66}
# for k,v in dict1.items():
#   print(k,v)   name laozhang
#                  age 66   加入修饰函数items()一次性取键与值

# 使用get()函数 取键的值
# 如果字典中没有这个键,返回的是None值
# dict1 = {"name":"laozhang","age":66}
# print(dict1.get("name"))#laozhang
# 下面是用一个比较麻烦的方法来取键的值
# dict1 = {"name":"laozhang","age":66}
# age1 = dict1.get("age")
# print(age1)# 66
# 如果字典中没有这个键则返回None
# dict1 = {"name":"laozhang","age":66}
# print(dict1.get("asdsdasd"))# None

# fromkeys()函数定义一个初始化的字典
# dict1 = {}.fromkeys(["name","age"]) # 打印出{'name': None, 'age': None}
# dict1["name"] = "zhang"通过键赋值
# print(dict1){'name': 'zhang', 'age': None}

# __contains__()函数判断字典中是否有某个键返回布尔值
# 双下划线的函数表示私有的函数
# dict1 = {"name":"laozhang","age":66}
# print(dict1.__contains__("name")) # True 字典中有这个键 所以返回True
# print(dict1.__contains__("phone"))#False 字典中没有这个键 所提返回False
# __contains__()函数的应用场景:
# dict1 = {"name":"laozhang","age":66}
# if dict1.__contains__("asdasd") is True: 如果字典中有这个键则结果为True
#   print("判断成功")                     打印判断成功
# else:
#   dict1.setdefault("asdasd")   否则就添加一个asdasd的键
#   print(dict1)# {'name': 'laozhang', 'age': 66, 'asdasd': None}

# popitem()函数同时删除字典中的键与值,默认删除末尾的
# 如果删除的字典为空的话,就会报错
# dict1 = {"name":"laozhang","age":66}
# pop = dict1.popitem()
# print(pop)# ('age', 66) 打印被删除的键与值
# print(dict1)# {'name': 'laozhang'}

# update() 利用一个字典更新另外一个字典
# 如果更新的内容再原来的字典中则覆盖原字典中的值
# dict1 = {"name":"laozhang","age":66}
# dict2 = {"phone":16666666666}
# dict1.update(dict2)
# print(dict1)# {'name': 'laozhang', 'age': 66, 'phone': 16666666666}

# 四.python中的集合
# 分为可变集合 set 和 不可变集合 frozenset
# 集合主要用来去重
# ①.可变集合set
# name = "baisuishan"
# set1 = set(name)
# print(set1)# {'u', 'n', 'a', 'b', 'h', 's', 'i'} 删除了重复的

#清除集合中的数据
# name = "baisuishan"
# set1 = set(name)
# set1.clear()
# print(set1)# set()

# 随机删除集合中的某个元素
# name = "baisuishan"
# set1 = set(name)
# set1.pop()
# print(set1)# {'n', 'h', 'u', 'i', 'b', 's'} 随机删除了aset去重

# 指定删除集合中的某个元素
# name = "baisuishan"
# set1 = set(name)
# set1.remove("b") # 指定删除集合中的b
# print(set1) # {'h', 'n', 's', 'a', 'i', 'u'}

# 添加某个元素到集合中
# name = "baisuishan"
# set1 = set(name)
# set1.add("banli")# 添加banli到集合中
# print(set1)# {'n', 'i', 'b', 'a', 'h', 'banli', 'u', 's'}

# ②.不可变集合frozenset
# name = "baisuishan"
# set1 = frozenset(name)
# print(set1)# frozenset({'s', 'u', 'n', 'b', 'h', 'i', 'a'})
# 注:可变集合set中的元素可以增加或删除,不可变集合frozenset中的元素不可以改变

#set的应用场景
# list1 =
# set1 = set(list1)
# list2 = list(set1)
# print(list2) #

# 通过for循环把集合中所有的值取出并添加到另一个列表中
# list1 =
# list2 = []
# for g in set(list1):
#   list2.append(g)
# print(list2)   #
页: [1]
查看完整版本: 4.14 Python