对数据类型的相关知识的记录(python)

北慕城南 提交于 2019-11-25 18:57:33
第一次学习python的基础类型发现和java的有些不同所以记录下来没事的时候看一下# 不可变(可哈希)的数据类型:int,str,bool,tuple。# 可变(不可哈希)的数据类型:list,dict,set。# 二.基础数据类型。# 查找数据类型type()函数'''2.1数字int。2.2布尔值bool。2.3字符串str。2.4元组tuple。2.5列表list。2.6字典dict。2.6集合set。'''# 基础类型整形(int)'''int 适用于32 64位的长度用于二进制运算python给咱们提供了一种方法:bit_length()就是帮助你快速的计算整数在内存中占用的二进制码的长度.'''# 基础类型布尔值(bool)'''bool作用于判断# bool ---> intt = Trueprint(int(t))  # 1  True --> 1t = Falseprint(int(t))  # 0  False --> 0bool也会存在0和1的值因此也可以这样进行计算'''# 基础类型字符串(str)'''a = "ABCDEFGHIJK"a4 = "afjdkfjdkb"a1 = "小明的年龄为18"str2 = "%在世界的%s里占%2111",("%221%112%1121")str1 = "在世界的里占21111"print(str2,str1)# 字符串可以进行遍历#遍历从0开始a = "ABCDEFGHIJK"print(a[0])# 以上为索引#下面为切片print(a[0:3])#指代的是从下标第一个切到第四个之前print(a[2:5])#同理print(a[:])#从头切到尾print(a[:-2])#顾头不顾尾放弃按照下标所找到的元素切掉print(a[:10:3])#步长指代的是间隔print(a[-1:-2:-6])#反向步长ret3 = a.count("a",0,4)#可切片print(ret3)a4 = "defjdkfasf54"# 开头布尔查询ret4 = a4.endswith('jdk',3,6)# 结尾查询a4.startswith('def',0,2)print(ret4)# split 以什么分割,最终形成一个列表此列表不含有这个分割的元素。ret9 = 'title,Tilte,atre,'.split('t')print(ret9)ret91 = 'title,Tilte,atre,'.rsplit('t',1)print(ret91)#format的三种玩法 格式化输出res='{} {} {}'.format('egon',18,'male')res='{1} {0} {1}'.format('egon',18,'male')res='{name} {age} {sex}'.format(sex='male',name='egon',age=18)print(res)name ="*barry**"#strip 只切全部,切左边,切右边print(name.strip('*'))print(name.lstrip('*'))print(name.rstrip('*'))#replace   替换  前面要替换的内容 , 后面是被替换的内容,替换几个 从左到右name='alex say :i have one tesla,my name is alex'print(name.replace('alex','SB',1))#####is系列    判断bool值name='taibai123'print(name.isalnum()) #字符串由字母或数字组成print(name.isalpha()) #字符串只由字母组成print(name.isdecimal()) #字符串只由十进制组成print(name.isdigit())#判断字符串只用数字组成#寻找字符串中的元素是否存在ret6 = a4.find("fjdk",1,11)print(ret6)  # 返回的找到的元素的索引,如果找不到返回-1  如果找到的显示索引下标的开头位置ret61 = a4.index("fjdk",4,6)print(ret61) # 返回的找到的元素的索引,找不到报错。如果找到的显示索引下标的开头位置name = "chen"# captalize,swapcase,titleprint(name.capitalize()) #首字母大写print(name.swapcase()) #大小写翻转msg='taibai say hi'print(msg.title()) #每个单词的首字母大写# 内同居中,总长度,空白处填充ret2 = a1.center(20,"*")print(ret2)#最终显示效果:*****小明的年龄为18*******#如果说书写的字符不过20的话就会填充后面的填充字符串并且将书写的字符串居中放置'''# list列表'''列表是有序的可切片方便索引# 方式一:(常用)l1 = [1, 2, '太白']# 方式二:(不常用)l1 = list()  # 空列表# l1 = list(iterable)  # 可迭代对象l1 = list('123')print(l1)  # ['1', '2', '3']# 方式三:列表推导式(后面的课程会讲到)快速生成一个列表l1 = [i for i in range(1,5)]print(l1)  # [1, 2, 3, 4]# 2.4.2 列表的索引切片l1 = ['a', 'b', '太白', 3, 666]print(l1[0])  # 'a'print(l1[-1])  # 666print(l1[1:3])  # ['b', '太白']print(l1[:-1])  # ['a', 'b', '太白', 3]print(l1[::2])  # ['a', '太白', 666]     步长反向排序print(l1[::-1])  # [666, 3, '太白', 'b', 'a']li = [1, 3, 2, "a", 4, "b", 5,"c"]#通过对li列表的切片形成新的列表l1,l1 = [1,3,2]#通过对li列表的切片形成新的列表l2,l2 = ["a",4,"b"]#通过对li列表的切片形成新的列表l4,l4 = [3,"a","b"]#通过对li列表的切片形成新的列表l6,l6 = ["b","a",3]2.4.3. 增# append 追加,给列表的最后面追加一个元素l = [1, 2, 'a']l.append(666)print(l) # [1, 2, 'a', 666]# insert  插入在列表的任意位置插入元素l = [1, 2, 'a']l.insert(1,'太白')print(l) # [1, '太白', 2, 'a']# extend  迭代着追加,在列表的最后面迭代着追加一组数据l = [1, 2, 'a']l.extend('太白a')print(l)# 2.4.4. 删# pop  通过索引删除列表中对应的元素,该方法有返回值,返回值为删除的元素l = ['太白', 'alex', 'WuSir', '女神']ret = l.pop(1)print(ret,l) # alex ['太白', 'WuSir', '女神']# remove  通过元素删除列表中该元素l = ['太白', 'alex', 'WuSir', '女神']l.remove('alex')print(l) # ['太白', 'WuSir', '女神']# clear 清空列表 一次性清空所有l = ['太白', 'alex', 'WuSir', '女神']l.clear()print(l) # []# del#按照索引删除该元素l = ['太白', 'alex', 'WuSir', '女神']del l[2]print(l) # ['太白', 'alex', '女神']# 切片删除该元素   切除后删除l = ['太白', 'alex', 'WuSir', '女神']del l[1:]print(l)# 切片(步长)删除该元素l = ['太白', 'alex', 'WuSir', '女神']del l[::2]  #这个不是下标print(l) # ['alex', '女神']# 2.4.5. 改# 按照索引改值l = ['太白', 'alex', 'WuSir', '女神']l[0] = '男神'print(l)  # ['男神', 'alex', 'WuSir', '女神']# 按照切片改值(迭代着增加)l = ['太白', 'alex', 'WuSir', '女神']l[1:3] = 'abcdefg'print(l)  # ['太白', 'a', 'b', 'c', 'd', 'e', 'f', 'g', '女神'] # 按照切片(步长)改值(必须一一对应)l = ['太白', 'alex', 'WuSir', '女神']l[::2] = '对应'  #迭代着增加print(l)  # ['对', 'alex', '应', '女神']# 2.4.6. 查# 切片去查,或者循环去查。# 2.4.5 其他操作这些方法会在数据类型的补充时再给大家讲~# 2.4.5、其他操作# count(数)(方法统计某个元素在列表中出现的次数)。# 1 a = ["q","w","q","r","t","y"]# 2 print(a.count("q"))# index(方法用于从列表中找出某个值第一个匹配项的索引位置)# 1 a = ["q","w","r","t","y"]# 2 print(a.index("r"))# sort (方法用于在原位置对列表进行排序)。#  reverse (方法将列表中的元素反向存放)。# 1 a = [2,1,3,4,5]# 2 a.sort()# 他没有返回值,所以只能打印a# 3 print(a)# 4 a.reverse()#他也没有返回值,所以只能打印a# 5 print(a)# 列表也可以相加与整数相乘# # l1 = [1, 2, 3]# l2 = [4, 5, 6]# # print(l1+l2)  # [1, 2, 3, 4, 5, 6]# print(l1*3)  # [1, 2, 3, 1, 2, 3, 1, 2, 3]# # li = ["alex", "WuSir", "ritian", "barry", "wenzhou"]# 计算列表的长度并输出# Length = len(li)# print(Length)# 列表中追加元素"seven",并输出添加后的列表# l = "seven"# li.extend(l)# print([li])# 请在列表的第1个位置插入元素"Tony",并输出添加后的列表# 请修改列表第2个位置的元素为"Kelly",并输出修改后的列表# 请将列表l2=[1,"a",3,4,"heart"]的每一个元素添加到列表li中,一行代码实现,不允许循环添加。# 请将字符串s = "qwert"的每一个元素添加到列表li中,一行代码实现,不允许循环添加。# 请删除列表中的元素"ritian",并输出添加后的列表# 请删除列表中的第2个元素,并输出删除的元素和删除元素后的列表# 请删除列表中的第2至4个元素,并输出删除元素后的列表## 2.4.6 列表的嵌套# l1 = [1, 2, 'taibai', [1, 'WuSir', 3,]]# 1, 将l1中的'taibai'变成大写并放回原处。# 2,给小列表[1,'alex',3,]追加一个元素,'职客教育'。# 3,将列表中的'alex'通过字符串拼接的方式在列表中变成'alexsb'## lis = [2, 3, "k", ["qwe", 20, ["k1", ["tt", 3, "1"]], 89], "ab", "adv"]# 将列表lis中的"tt"变成大写(用两种方式)。# 将列表中的数字3变成字符串"100"(用两种方式)。# 将列表中的字符串"1"变成数字101(用两种方式)。# Where:(这个知识点用在什么地方):#   你需要存储大量的数据,且需要这些数据有序的时候。#   制定一些特殊的数据群体:按顺序,按规则,自定制设计数据。# 深浅拷贝import copyli = [1,2,3,[4,5,6]]# l2 = copy.copy(li) #浅拷贝l2 = copy.deepcopy(li) #深拷贝# 浅拷贝只复制一层# 深拷贝;完全复制li[3].append(7)print(li)print(l2)'''# 元组(tuple)'''不可变类型只能查tu1 = ('a', 'b', '太白', 3, 666)print(tu1[0])  # 'a'print(tu1[-1])  # 666print(tu1[1:3])  # ('b', '太白')print(tu1[:-1])  # ('a', 'b', '太白', 3)print(tu1[::2])  # ('a', '太白', 666)print(tu1[::-1])  # (666, 3, '太白', 'b', 'a')# 可以利用for循环查询tu1 = ('a', 'b', '太白', 3, 666)for i in tu1:    print(i)切片tu = ('太白', [1, 2, 3, ], 'WuSir', '女神')print(tu.index('太白')) # 0count: 获取某元素在列表中出现的次数tu = ('太白', '太白', 'WuSir', '吴超')print(tu.count('太白')) # 22.5.3 lentu1 = (1,2,3,4,84,5,2,8,2,11,88,2)print(len(tu1))结果:12 拆包'''# 字典(dict)'''不可变(可哈希)的数据类型:int,str,bool,tuple。可变(不可哈希)的数据类型:list,dict,set。在Python3.5版本(包括此版本)之前,字典是无序的。字典的创建方式0:. d = {'one':1,'two':2}# 方式1:dic = dict((('one', 1),('two', 2),('three', 3)))# dic = dict([('one', 1),('two', 2),('three', 3)])print(dic)  # {'one': 1, 'two': 2, 'three': 3}# 方式2:dic = dict(one=1,two=2,three=3)print(dic)  # {'one': 1, 'two': 2, 'three': 3}# 方式3:dic = dict({'one': 1, 'two': 2, 'three': 3})print(dic)  # {'one': 1, 'two': 2, 'three': 3}# 方式4: 后面会讲到先了解拉链方法dic = dict(zip(['one', 'two', 'three'],[1, 2, 3]))print(dic)# 方式6: 字典推导式 后面会讲到    快速生成一个列表# dic = { k: v for k,v in [('one', 1),('two', 2),('three', 3)]}# print(dic)# 方式7:利用fromkey后面会讲到。将前面的字符串进行分割后全部赋值后面的字符串# dic = dict.fromkeys('abcd','太白')# print(dic)  # {'a': '太白', 'b': '太白', 'c': '太白', 'd': '太白'}# 合法dic = {123: 456, True: 999, "id": 1, "name": 'sylar', "age": 18, "stu": ['帅哥', '美⼥'], (1, 2, 3): '麻花藤'}print(dic[123])print(dic[True])print(dic['id'])print(dic['stu'])print(dic[(1, 2, 3)])# 不合法# dic = {[1, 2, 3]: '周杰伦'} # list是可变的. 不能作为key# dic = {{1: 2}: "哈哈哈"} # dict是可变的. 不能作为keydic = {{1, 2, 3}: '呵呵呵'} # set是可变的, 不能作为key增# 通过键值对直接增加dic = {'name': '太白', 'age': 18}dic['weight'] = 75 # 没有weight这个键,就增加键值对print(dic) # {'name': '太白', 'age': 18, 'weight': 75}dic['name'] = 'barry' # 有name这个键,就成了字典的改值print(dic) # {'name': 'barry', 'age': 18, 'weight': 75}# setdefaultdic = {'name': '太白', 'age': 18}dic.setdefault('height',175) # 没有height此键,则添加print(dic) # {'name': '太白', 'age': 18, 'height': 175}dic.setdefault('name','barry') # 有此键则不变print(dic) # {'name': '太白', 'age': 18, 'height': 175}#它有返回值dic = {'name': '太白', 'age': 18}ret = dic.setdefault('name')  #可以添加多个print(ret)  # 太白删# pop指代的是消磁# pop 通过key删除字典的键值对,有返回值,可设置返回值。dic = {'name': '太白', 'age': 18}# ret = dic.pop('name')# print(ret,dic) # 太白 {'age': 18}ret1 = dic.pop('n',None)  可设置返回值为,后面print(ret1,dic) # None {'name': '太白', 'age': 18}#popitem 3.5版本之前,popitem为随机删除,3.6之后为删除最后一个,有返回值dic = {'name': '太白', 'age': 18}ret = dic.popitem()print(ret,dic) # ('age', 18) {'name': '太白'}#clear 清空字典dic = {'name': '太白', 'age': 18}dic.clear()print(dic) # {}# del# 通过键删除键值对dic = {'name': '太白', 'age': 18}del dic['name']print(dic) # {'age': 18}#删除整个字典del dic改# 通过键值对直接改dic = {'name': '太白', 'age': 18}dic['name'] = 'barry'print(dic) # {'name': 'barry', 'age': 18}# updatedic = {'name': '太白', 'age': 18}dic.update(sex='男', height=175)   #如果存在值就修改没有值就增加print(dic) # {'name': '太白', 'age': 18, 'sex': '男', 'height': 175}dic = {'name': '太白', 'age': 18}dic.update([(1, 'a'),(2, 'b'),(3, 'c'),(4, 'd')])print(dic) # {'name': '太白', 'age': 18, 1: 'a', 2: 'b', 3: 'c', 4: 'd'}dic1 = {"name":"jin","age":18,"sex":"male"}dic2 = {"name":"alex","weight":75}dic1.update(dic2)print(dic1) # {'name': 'alex', 'age': 18, 'sex': 'male', 'weight': 75}print(dic2) # {'name': 'alex', 'weight': 75} 查# 通过键查询# 直接dic[key](没有此键会报错)dic = {'name': '太白', 'age': 18}print(dic['name']) # 太白# getdic = {'name': '太白', 'age': 18}v = dic.get('name')print(v) # '太白'v = dic.get('name1')print(v) # Nonev = dic.get('name2','没有此键')print(v) # 没有此键 keys()dic = {'name': '太白', 'age': 18}print(dic.keys()) # dict_keys(['name', 'age']) values()dic = {'name': '太白', 'age': 18}print(dic.values()) # dict_values(['太白', 18])items()dic = {'name': '太白', 'age': 18}print(dic.items()) # dict_items([('name', '太白'), ('age', 18)])dic = {'k1': "v1", "k2": "v2", "k3": [11,22,33]}请在字典中添加一个键值对,"k4": "v4",输出添加后的字典请在修改字典中 "k1" 对应的值为 "alex",输出修改后的字典请在k3对应的值中追加一个元素 44,输出修改后的字典请在k3对应的值的第 1 个位置插入个元素 18,输出修改后的字典fromkeysdic = dict.fromkeys('abcd','太白')print(dic) # {'a': '太白', 'b': '太白', 'c': '太白', 'd': '太白'}dic = dict.fromkeys([1, 2, 3],'太白')print(dic) # {1: '太白', 2: '太白', 3: '太白'} 其他操作key_list = dic.keys()    print(key_list)结果:dict_keys(['剑圣', '哈啥给', '大宝剑'])# 一个高仿列表,存放的都是字典中的key# 并且这个高仿的列表可以转化成列表print(list(key_list))# 它还可以循环打印dic = {'剑圣':'易','哈啥给':'剑豪','大宝剑':'盖伦'}for i in dic:    print(i)value_list = dic.values()print(value_list)结果:dict_values(['易', '剑豪', '盖伦'])#一个高仿列表,存放都是字典中的value# 并且这个高仿的列表可以转化成列表print(list(value_list))# 它还可以循环打印for i in dic.values():       print(i)key_value_list = dic.items()print(key_value_list)结果:#内容是外面是列表里面是元组dict_items([('剑圣', '易'), ('哈啥给', '剑豪'), ('大宝剑', '盖伦')])# 一个高仿列表,存放是多个元祖,元祖中第一个是字典中的键,第二个是字典中的值  # 并且这个高仿的列表可以转化成列表print(list(key_value_list ))# 它还可以循环打印dic = {'剑圣':'易','哈啥给':'剑豪','大宝剑':'盖伦'}for i in dic.items():    print(i)结果:('剑圣', '易')('哈啥给', '剑豪')('大宝剑', '盖伦')这里补充一个知识点:分别赋值,也叫拆包。拆包就是打印键的一种形式//键是唯一的a,b = 1,2print(a,b)结果:1 2a,b = ('你好','世界')  # 这个用专业名词就叫做元组的拆包print(a,b)结果:    你好 世界a,b = ['你好','大飞哥']print(a,b)结果:你好 世界a,b = {'汪峰':'北京北京','王菲':'天后'}print(a,b)结果:汪峰 王菲所以利用上面刚学的拆包的概念,我们循环字典时还可以这样获取字典的键,以及值:for k,v in dic.items():    print('这是键',k)    print('这是值',v)结果:这是键 剑圣这是值 易这是键 哈啥给这是值 剑豪这是键 大宝剑这是值 盖伦字典的嵌套可以嵌套其他类型dic = {    'name':'汪峰',    'age':48,    'wife':[{'name':'国际章','age':38}],    'children':{'girl_first':'小苹果','girl_second':'小怡','girl_three':'顶顶'}}name =dic['wife'][0]['name']children =dic['children']['girl_three']print(name)print(children)题目di = dic['wife'][0]  # 这个是上一次题获取的小字典的代码wife_name= di['name']  # 通过小字典然后再通过键就能获取到对应的值print(wife_name)# 当然咱们可以简化:wife_name = dic['wife'][0]['name]print(wife_name)    4. 获取汪峰的第三个孩子名字: 汪峰的孩子们是在一个字典中的,你要想获取汪峰的第三个孩子,你应该先获取到它从属于的这个字典,然后再通过这个字典获取第三个孩子的名字。dic2 = dic['children']  # 先获取这个字典name = dic2['girl_three']  # 在通过这个字典获取第三个孩子的名字print(name)# 当然你可以简化:name = dic['children']['girl_three']print(name)dic1 = { 'name':['alex',2,3,5],     'job':'teacher', 'coolgirl':{'alex':['python1','python2',100]} }1,将name对应的列表追加⼀个元素’wusir’。2,将name对应的列表中的alex⾸字⺟⼤写。3,coolgirl对应的字典加⼀个键值对’⽼男孩’,’linux’。4,将coolgirl对应的字典中的alex对应的列表中的python2删除'''# 集合(set)'''集合是无序的本身是可变的可以去重关系测试,测试两组关系数据之前的交集差集并集的关系写法1,集合的创建。set1 = set({1,2,'barry'})set2 = {1,2,'barry'}print(set1,set2)  # {1, 2, 'barry'} {1, 2, 'barry'}2,集合的增。set1 = {'alex','wusir','ritian','egon','barry'}set1.add('景女神')print(set1)#update:迭代着增加set1.update('A')print(set1)set1.update('老师')print(set1)set1.update([1,2,3])print(set1)3,集合的删。set1 = {'alex','wusir','ritian','egon','barry'}set1.remove('alex')  # 删除一个元素print(set1)set1.pop()  # 随机删除一个元素print(set1)set1.clear()  # 清空集合print(set1)del set1  # 删除集合print(set1)4,集合的其他操作:  4.1 交集。(&  或者 intersection)set1 = {1,2,3,4,5}set2 = {4,5,6,7,8}print(set1 & set2)  # {4, 5}print(set1.intersection(set2))  # {4, 5}  4.2 并集。(| 或者 union)set1 = {1,2,3,4,5}set2 = {4,5,6,7,8}print(set1 | set2)  # {1, 2, 3, 4, 5, 6, 7,8}print(set2.union(set1))  # {1, 2, 3, 4, 5, 6, 7,8}  4.3 差集。(- 或者 difference)set1 = {1,2,3,4,5}set2 = {4,5,6,7,8}print(set1 - set2)  # {1, 2, 3}print(set1.difference(set2))  # {1, 2, 3}4.4反交集。 (^ 或者 symmetric_difference)set1 = {1,2,3,4,5}set2 = {4,5,6,7,8}print(set1 ^ set2)  # {1, 2, 3, 6, 7, 8}print(set1.symmetric_difference(set2))  # {1, 2, 3, 6, 7, 8}4.5子集与超集set1 = {1,2,3}set2 = {1,2,3,4,5,6}print(set1 < set2)print(set1.issubset(set2))  # 这两个相同,都是说明set1是set2子集。print(set2 > set1)print(set2.issuperset(set1))  # 这两个相同,都是说明set2是set1超集。5,frozenset不可变集合,让集合变成不可变类型。s = frozenset('barry')print(s,type(s))  # frozenset({'a', 'y', 'b', 'r'}) <class 'frozenset'>三.其他(for,enumerate,range)。for循环:用户按照顺序循环可迭代对象的内容。msg = '职客python是全国范围内最好的python培训机构'for item in msg:    print(item)li = ['alex','银角','女神','egon','太白']for i in li:    print(i)dic = {'name':'太白','age':18,'sex':'man'}for k,v in dic.items():   #item就是键值对的意思    print(k,v)    enumerate:枚举,对于一个可迭代的(iterable)/可遍历的对象(如列表、字符串),enumerate将其组成一个索引序列,利用它可以同时获得索引和值。# 枚举之后将里面的值放在元组里面li = ['alex','银角','女神','egon','太白']for i in enumerate(li):    print(i)# 枚举之后以 后面的值,lifor index,name in enumerate(li,1):    print(index,name)for index, name in enumerate(li, 100):  # 起始位置默认是0,可更改    print(index, name)            range:指定范围,生成指定数字。for i in range(1,10):    print(i)for i in range(1,10,2):  # 步长    print(i)for i in range(10,1,-2): # 反向步长    print(i)l1 = ['wusir', 'alex', '太白', '女神', 12, 666]for i in range(len(l1)):    print(i)'''# 程序交互'''老版本需要写前两句#!/usr/bin/env python# -*- coding: utf-8 -*-  # 将用户输入的内容赋值给 name 变量name = input("请输入用户名:")    # 打印输入的内容print(name)# while True:#     age_of_oldboy = "48"#     age = input("输入年龄: ")#     if age != age_of_oldboy:#         print("错误请重新输入")#     else:#         print("正确")#         break''''''百分号占位符int()input'''# name = input("Name:")# age = input("Age:")# job = input("Job:")# hobbie = input("Hobbie:")# # 固定写法# info = '''# ------------ info of %s -----------# Name  : %s# Age   : %s# job   : %s# Hobbie: %s# ------------- end -----------------# # ''' %(name,name,age,job,hobbie)# # 这行的 % 号就是 把前面的字符串 与拓号 后面的 变量 关联起来# while ... else....'''这个else指代的是如果循环正常执行完毕没有被跳出打断的话会执行elsea = 1while a <= 10:    a += 1    print(a)else:    print("执行结束")'''8 or 40 and 30 or 4 and 3 or 7 or 9 and 6print(bool(8 or 4))print(bool(0 and 3))print(bool(0 or 4 and 3 or 7 or 9 and 6))print(bool(0))# lst列表写法def my_len(lst):    print(lst)    count = 0    for i in [1,2,3]:        count += 1        return countmy_len([4,5,6])# 拆包# 引用调取的方式def func(**kwargs):    print(kwargs)dic = {'a' : 1,'b' : 2}func(**dic)# 装饰器def wrapper():    def inner():        print("hhh")    return inner# 同过装饰器__closure__访问闭包# 例子def stu(*args):    print(type(args))    for item in args:        print(item)stu("张三",15,"more","most")
标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!