西安1班--刘皎洁 发表于 2022-4-14 21:40:27

python4-14

#定义列表:
#第一种方法
# list1 = ["duoceshi","xian01","test","10086"]
# #第二种方法
# #运用list()函数把某个字符串转变成列表
# str1 = "shkkdushh"
# list1 = list(str1)
# print(list1)   #将字符串中的每一个字母都变成了元素 ['s', 'h', 'k', 'k', 'd', 'u', 's', 'h', 'h']
# 列表中常用的函数
#1,索引赋值
# list1 = ["xian","test",123456]
# list1= "nihao"
# print(list1)      将list1中索引为0 的元素换成了nihao
#2,切片赋值
# list1 = ["xian","test",123456]
# list1 = "nihao"
# print(list1)   #['xian', 'test', 'n', 'i', 'h', 'a', 'o']   将字符串中的所有字母都变成了元素
#append()函数,在列表末尾添加元素,可为任何数据类型的元素
# list1 = ["xian","test",123456]
# # list1.append("nihao")
# # print(list1)   #['xian', 'test', 123456, 'nihao']
# # list1.append(12345677688)
# # print(list1)   #['xian', 'test', 123456, 12345677688]#添加int在列表末尾加上元素
# # list1.append("nihao")#添加字符串
# # print(list1)
# list1.append(["xinnnn"])#添加列表
# print(list1)
#extend()函数,连接两个列表,变成一个列表,将两个列表中的所有元素整合到一个列表中;   不能与int类型整合
# list1= ["nihao"]
# list2= ["xian"]
# list1.extend(list2)
# print(list1)       l.extend() l 是谁谁就在前面
# list1 = ["nihao"]
# list2 = "123445676"
# list1.extend(list2)
# print(list1)      #如果是字符串则将所有字母分开变成元素
#insert()函数,根据索引位置添加元素到列表中
# list1 = ["xian","nihao","test"]
# list1.insert(1,"sssdd")      #索引是谁就将元素添加在谁的位置,然后依次顺延   #添加的是字符串类型
# print(list1)
# list1.insert(1,12345)   #添加的是int类型
# print(list1)
# list1.insert(1,["xiaoming"])   #添加的是列表类型
# print(list1)
#index()函数,查看列表元素的索引值
# list1 = ["xian","nihao","test",12344]
# index1 = list1.index("test")   #将元素写入函数中
# print(index1)
#remove()函数,移除列表中的元素,根据列表中的value值删除
#若列表中有重复的数据,删除第一次出现的数据
# list1 = ["xian","nihao","test",12344]
# # list1.remove("test")
# # print(list1)
# list1.remove("nihao")
# print(list1)
#del 关键字,根据索引进行删除列表元素
# list1 = ["xian","nihao","test",12344]
# # del list1
# # print(list1)
# del list1
# print(list1)
# sort()函数可以对列表进行排序
# 只会对全部是int或者全部是str类型的进行升序排列,排列顺序是根据ascii编码:0-9,大写的A-Z,小写的a-z进行升序排列
# list1 = ["xian","nihao","test","12344"]    #必须是相同类型的才可以
# list1.sort()   #不加参数默认升序
# print(list1)   #['12344', 'nihao', 'test', 'xian']
# list1 =
# # list1.sort(reverse=True)
# # print(list1)   #加参数reserve=True为降序排列      
# list1.sort(reverse=False)
# print(list1)   #加参数reverse=False为升序排列
#sorted()函数
# list1 = ["Xian","nihao","test","12344"]
# # list2 = sorted(list1)   #不加参数默认升序
# # print(list2)
# # list2 = sorted(list1,reverse=True)      #True降序
# # print(list2)
# list2 = sorted(list1,reverse=False)    #False升序
# print(list2)
#sort() 与sorted 区别在于前者为动作,不会产生新的列表;后者会产生新的列表
#元组与列表区别
# 相同:均可以存放任何类型的数据;支持切片,迭代等操作
# 不同:list 可以改变,元组tuple不可改变
# reverse()函数,反转列表
# list1=
# #list1.reverse()
# #print(list1)    #
# #也可用步长为-1进行反转
# print(list1[::-1])#
#pop()函数删除列表中的元素
# 若不传人索引则默认删除列表中的最后一个元素
# 根据索引的位置来对值进行删除
#既可以打印删除之后的列表也可以打印被删除的元素
# list1 = ["Xian","nihao","test","12344"]
#list1.pop(2)
#print(list1)
#print(list1.pop(2))    #每次只能印一个出来
#python中的元组
# 元组(tuple),表达式tuple = ()
# 是“写保护”的数据类型,创建之后里面的元素不能被修改,是个有序的序列
#tuple = ("nihao","xian",1,["shdjjdh"])
# tuple =("xian",)    #若元组中只有一个值,需要在最后加上一个“逗号“
# print(tuple)    #('xian',)
#元组可以使用切片和索引
# tuple= ("nihao","xian",1,["shdjjdh"])
# print(tuple)    #1
# print(tuple)   #('xian', 1)
#元组的值不能直接更改
#间接方式对元组进行修改,先把元组转换成列表,对列表的值进行修改,修改完之后,再把列表转成元组
# tuple1= ("nihao","xian",1,["shdjjdh"])
# list1 = list(tuple1)
# list1 = "xiaoming"
# tuple2 = tuple(list1)
# print(tuple2)
# 元组可以改变?
# 当元组中的元素作为一个整体的情况下是不能改变的
# 元组中的某一个元素为列表时,可以通过索引将列表单独取出进行修改,从而修改元组中值
#tuple1= ("nihao","xian",1,["shdjjdh",10010],1234456)
# tuple1 = "xian01"#先将元组中索引为3的列表拿出来,再讲列表中索引为0的元素拿出来并修改为"xian01"
# print(tuple1)    #('nihao', 'xian', 1, ['xian01', 10010], 1234456) 二位数组方法
#元组的迭代,需要用到for循环对元组进行迭代取值
# tuple1= ("nihao","xian",1,["shdjjdh",10010],1234456)
# for i in tuple1:
#   print(i)    #遍历元组中的每个元素,每次取一个,直至全部取完
# python中的字典{}
# 字典(dict) 表达式为dict1 = {}
# 字典是无序的,是以键值对的形式进行存储key:values;key是惟一的,values是可以不唯一
# 定义字典的常规方法 :dict:{}
# dict1 = {"name":"xiaoming","sex":"man"}
# print(dict1)
# print(type(dict1))
#定义字典用dict()函数定义
# test= [("name","xiaoming"),("sex","man")]   #test为列表类型
# dict1 = dict(test)
# print(dict1)
# 添加一个键值对
# 若添加字典中存在的键,则只对键对应的值进行修改;若添加的键不存在,则添加新的键和值
# dict1= {"name":"xiaohzhang","age":18}
# dict1["sex"] = "man"   #用dict[]去添加
# print(dict1)#{'name': 'xiaohzhang', 'age': 18, 'sex': 'man'}
#取出字典中的键,通过for循环去遍历字典中的所有的键(key)
#for循环不加修饰函数,默认取的键是(key)
# dict1= {"name":"xiaohzhang","age":18}
# for i in dict1:
#   print(i)    得到: name
#                     age
#加入修饰函数keys()函数,取的是键
# dict1 = {"name":"xiaohzhang","age":18}
# for i in dict1.keys():
#   print(i)   得到 name
#                     age
# 加入修饰函数values(),取得是字典中的值
# dict1 = {"name":"xiaohzhang","age":18}
# for i in dict1.values():
#   print(i)    得到xiaohzhang
#                      18
#取字典中的具体的值要通过键取对应的值
# dict1 = {"name":"xiaohzhang","age":18}
# print(dict1["name"])   #取出name对应的值xiaozhang
# print(dict1["age"])    #取出age对应的值18
# setdefault()函数,给字典中添加键值对
# 若添加的元素存在时,添加无效
# 添加元素时只写键不写值,默认值为None
# dict1 = {"name": "xiaohzhang", "age": 18}
# # dict1.setdefault("age",16)    #添加无效{'name': 'xiaohzhang', 'age': 18}
# # print(dict1)
# # dict1.setdefault("sex","man")
# # print(dict1)   #添加成功{'name': 'xiaohzhang', 'age': 18, 'sex': 'man'}
# dict1.setdefault("sex")
# print(dict1)#添加成功值为None
#删除字典中的元素,根据键来删除值用del
# dict1 = {"name": "xiaohzhang", "age": 18}
# # del dict1["age"]
# # print(dict1)    #删除之后字典中剩下的元素{'name': 'xiaohzhang'}
# del dict1["name"]
# print(dict1)   #删除之后字典中剩下{'age': 18}
#删除整个字典:不写键
# dict1 = {"name":"xiaoming","age":18,"sex":"man"}
# del dict1    #字典已经被删无法显示结构都没有了
# print(dict1)
#pop()函数,根据键来删除对应的值
# dict1 = {"name":"xiaoming","age":18,"sex":"man"}
# # dict1.pop("name")
# #print(dict1)    #删除了name对应的键值对,剩下{'age': 18, 'sex': 'man'}
# dict1.pop("sex")
# print(dict1)   #删除了sex对应的键值对,剩下{'name': 'xiaoming', 'age': 18}
#clear()清空字典所有的数据,剩下空字典
# dict1 = {"name":"xiaoming","age":18,"sex":"man"}
# dict1.clear()
# print(dict1)      #删除了字典中的所有数据只剩下空结构{}
# 通过for循环去字典中的键与值
# dict1 = {"name":"xiaoming","age":18,"sex":"man"}
# for i in dict1:
#   print(i,dict1)    # dict1["name"]   #键name对应的值
# 得到   name xiaoming
#       age 18
#       sex man
# #用items()修饰函数取字典中的键与值
# dict1 = {"name":"xiaoming","age":18,"sex":"man"}
# for k,v in dict1.items():
#   print(k,v)   #k为键,v为值
#   得到   name xiaoming所有的键与值一一对应
#         age 18
#         sex man
# 通过get()函数,取键的值
# 若键不在字典中,则返回None
# dict1 = {"name":"xiaoming","age":18,"sex":"man"}
# #print(dict1.get("name"))   #xiaoming
# age1=dict1.get("age")
# print(age1)    #取到键age 对应的值18
# print(dict1.get("gender"))    #不存在键gender 返回None
#fromkeys()函数,定义一个初始化的字典
# dict1={}.fromkeys(["name","age"])
# # print(dict1)   #{'name': None, 'age': None}
# dict1["name"]="xiaoxiao"   #通过键赋值
# print(dict1)    #{'name': 'xiaoxiao', 'age': None}
# dict1= {}.fromkeys(("name","age"),"xiaozhang")
# print(dict1)    #{'name': 'xiaozhang', 'age': 'xiaozhang'}
#__contains__()函数,双下划线的函数表示私有的函数,判断字典中是否含义某个键,返回布尔值
# dict1 = {"name":"xiaoming","age":18,"sex":"man"}
# # print(dict1.__contains__("name"))   #True
# # print(dict1.__contains__("gender"))   #False
# if dict1.__contains__("name02") is True:
#   print("good")
# else:
#   dict1.setdefault("name02")
#   print(dict1)   #{'name': 'xiaoming', 'age': 18, 'sex': 'man', 'name02': None}
#popitems()函数,删除字典中键与对应的值,默认删除最后的
# dict1 = {"name":"xiaoming","age":18,"sex":"man"}
# dict2 = (dict1.popitem())
# print(dict2)   #('sex', 'man')删除的键与值
# print(type(dict2))    #<class 'tuple'>类型为元组
#update(),利用一个字典更新另一个字典;若更新的元素在字典中存在则覆盖掉
# dict1 = {"name":"xiaoming","age":18,"sex":"man"}
# dict2 = {"age":15}
# dict1.update(dict2)    #用字典2更新字典1
# print(dict1)    #{'name': 'xiaoming', 'age': 15, 'sex': 'man'}
# python中的集合:
# 可变集合set
# 不可变集合frozenset
# 集合主要是用来去重
# name= "xiaozhangxiaozhao"
# set1 = set(name)
# # # print(set1)   #{'z', 'i', 'h', 'x', 'o', 'a', 'n', 'g'}
# # set1.clear()#清除集合中的所有的元素
# # print(set1)   #set()
# # set1.remove("x")   #指定删除集合中的x元素
# # print(set1)    #{'o', 'a', 'h', 'i', 'z', 'g', 'n'}
# set1.add("zhang")   #添加zhang到集合中
# # print(set1)   #{'x', 'a', 'h', 'o', 'z', 'n', 'zhang', 'g', 'i'}
# name = "xiaoxiao"
# set1 = frozenset(name)
# set2 = set1.copy()
# print(set2)   #frozenset({'x', 'i', 'o', 'a'})
# print(set1)    #不可变集合只能拷贝frozenset({'x', 'i', 'o', 'a'})
#深拷贝deepcopy()浅拷贝()
#法一:
# list1 =
# # set1 = set(list1)   #将列表变成集合并去重
# # list2 = list(set1)#再将集合变成列表
# # print(list2)    #
# #法二:
# list2 = []   #先定义一个list2列表
# for i in set(list1):#用for循环将集合中的所有值取出来
#   list2.append(i)    #将所有的值添加到list2中
# print(list2)   #
页: [1]
查看完整版本: python4-14