python-列表元祖字典集合、字符、字符串、函数处理

python-列表元祖字典集合、字符、字符串、函数处理 1、列表元祖字典集合列表 list a, b, c, d,a元祖 tup (1, 2, 3, 4, 5 )有一个名为字典 dict 的数据结构放置于此, 其中包含 key1 对应的值为空, key2 对应的值也为空 之后赋予 dict 这样的内容。集合被赋予这样一个内容, 那内容是包含字符a、r、b、c、d的簇 紧接着集合又成了不包含任何元素的个体。特点1.类似于列表存在的元组, 与之不同的地方在于元组当中的元素是不可以进行修改操作的, 并且是不被允许实施删除行为的能够运用list()以及tuple()这样的方法来实现相互之间的转换在有一组数据需要被使用, 而且这组数据并不需要进行修改的情况下, 就要用元组。2.集合是这样的一种序列, 它里面的元素是无序的, 且不会有重复, 能进行关系方面的测试, 能够把重复的数据给删除掉, 并且还能够去计算交集情况、差集情况、并集情况等等。Set1取Set2, 用于找出两个或者更多的集合里都含有的元素, 也就是交集。set1.union(set2) #方法返回两个集合的并集区别1.使用场景不一样列表可修改可删除元祖不可修改不可删除2.数据存储存在差异, 因为列表能够进行增加和删除操作, 然而对应的key却无法删除, 这样一来占据的内存就比较多。针对(obj, class), 去判定一个对象是不是属于一种已知的类型, 这类似type(), 要是是这种情况那么就返回True, 不然的话就返回False。有一种名为(cls, class)的方法, 它专门用于判定参数cls是不是类型参数class的子类, 要是属于这种情况, 那么就会返回True, 要是不属于, 那就会返回False。那个函数, 是用来把一个能被遍历的数据对象譬如列表、或者元组还有字符串进行整合从而成为一个索引序列的。print(list(()))() 计数器用于追踪值的出现次数fromprint(()(add)判断是可执行函数返回True2、字符串s1s2123s3 456print(s1s2)print(s1*2)print(len(s1))print(s1)print(s1)print(s1)print(s1)print(s1) 反转3、字符池. #字符池a-zA-Z. #字符池0-9str .. #字符池a-zA-Z0-9.() #方法检测字符串是否只由字母组成.() #方法检测字符串是否只由数字组成4、切片L 分别叫做亚当, 被称作丽莎, 名为巴特, 叫保罗。print(L) #Adamprint(L) #Paulprint(L) #Adam, Lisa, Bart, Paul#复制print(L) #Adam, Lisa前两个print(L) #Adam, Lisa,Bart前三个print(L) #Adam, Lisa, Bart, Paulprint(L) #Adam, Bart每隔两个取一个print(L) #有叫“保罗”的, 有叫“巴特”的, 有叫“丽莎”的, 有叫“亚当”的。逆序Lshuzf #字符“shuzf”, 名为“Lisa”之人, 名为“Bart”之人, 为“Paul”之人。替换del L #Lisa, Bart, Paul删除LAdam #“A”, “d”, “a”, “m”, “Lisa”, “Bart”, 称 “ Paul”。#插入5、列表推导式表达式 for 变量 in 可迭代对象表达式 for 变量 in 可迭代对象 if 筛选条件当真的值, 若满足if条件, 就取真的值, 若不满足if条件而是else情况, 就取假的值, 针对变量, 在可迭代对象中进行操作。print(f(x) for x in aprint(f(x) for x in a if x%21print(print(s.针对每个s, 将s转换为大写后与转换为小写后的s进行拼接, 对于s处于的情况。adam, LISA, barT) #第一个字母大写其他都小写字典推导式{key:value for 变量 in 可迭代对象}使用变量遍历可迭代对象, 若满足筛选条件则生成键值对。{对于变量从可迭代对象里迭代出来, 若是条件成立则值如此这般, 否则值为假的值形式的键值对。print({x:x for x in a})print({x:x-10 if x in11, 12, 13else 8 for x in a})6、匿名函数语法 :是参数列表它的结构与中函数()的参数列表是一样的输入是一个关乎参数的式子。式子之中所出现的参数得在里有定义, 而且式子仅仅只能是单行的输出。用法给x与y, x乘以y函数的输入为x以及y, 其输出是它们相乘的结果x乘y。:None函数没有输入参数输出是None*args, 其操作应为算出 args 的和输入的是任意数量的参数, 输出的是这些参数相加的和, 这里存在隐性要求, 即输入的参数必须要能够开展加法运算才行。**: 1输入是任意键值对参数输出是1表达式所具备的最大意义并非在于代码呈现出优雅的状态, 而是在于此表达式能够作为参数于不同的函数当中进行传递, 唯有在需要用到的时候, 才会被切实展开循环。7、各种各类的、形形色色的、map()、多种多样的函数, 与相互和彼此配合着使用, 结果加上list()来使用。from函数( x: x % 3 0, range(1,11))此时函数用于指定过滤列表元素的条件。函数对从1至11这一范围, 依据绝对值函数abs, 以与5的距离从小到大的顺序来进行排序, 这里指的是按照使得abs中x与5差值的绝对值从小到大排序, 具体是对range(1,11), 规定key为x: abs(5 - x)。于此刻, 函数被用以明确针对列表里全部元素开展排序的标准, 默认依据 key 从小至大进行排序。map函数map( x: x1, range(1,11))此时函数用于指定对列表中每一个元素的共同操作。函数( x,y:xy,range(1,11))此时函数用于指定列表中两两相邻元素的结合条件。8、大小写、分割、删除、替换、连接d%i #以两位输出字符0102%.2f%i #以小数输出字符1.002.00str.lower() #转小写str.upper() #转大写拿str.split(s,num)来说, 起分割作用, 分割的对象是分割符s, 分割的实施次数是num, 默认情况下是以空字符进行分割, 最终返回的结果是list。str.strip(s), 这用于删减掉, 位于字符串首位以及末尾的字符s, 其默认的情况是要除去位于首部与尾部的空白字符, 这里所涵盖的空白字符有\n, 还有\r, 另外还有\t, 以及 。对olds进行替换, 将其替换为news, 替换的次数为1次, 这里的替换是默认对所有符合条件的进行替换。str.join(list) #连接 以str连接liststr.() 方法用于截掉字符串左边的空格或指定字符str.() 删除 字符串末尾的指定字符默认为空格把str的(s, beg设为0, end设为len())来使用, 判断str是不是以s开头, ()这个方法是用来检查字符串是不是以指定子字符串开头的, 要是是的话就返回True, 不然就返回False。那用于判断一个字符串是不是以特定后缀结尾的方法, 是str.(s, beg0,endlen()) , 它会在字符串以指定后缀结尾时返回True, 不然就返回False。str #反转字符串\列表9、过滤把 .! 赋值, # 这里是要打印使用 join 对列进行连接后的空字符串, 通过 list(())进行输出。 (str., ) #只保留数字 (str., ) #保留小写字母 (str., ) #保留大写字母 (str., ) #只保留字母 (str., ) #只保留字母和数字等于, i: 其中i属于‘.’, #要是想保留数字0到9以及小数点‘.’, 那么就需要去自定义函数。 (None,list) #过滤list为空的元素10、求和print(i for i in range(11)) #0至10列表打印, 把代表范围从一到十但不包含十一的参数序列, 进行累加求和的结果 , 此操作的目的是实现一至十求和。print(sum(i for i in range(1,11))) #1至10求和print(sum()#1至100奇数求和print(sum(你提供的内容不完整, 请补充完整后以便我进行改写。x%y!0 for y in range(2, x))) #1至100质数求和给出print括起来的range, 范围是从1到101 , 而rang是从11起步到91 , 在列表里面获取下标为10到90的值 , 这是要打印出来的。打印, 范围, 从1开始, 到101结束, 步长为3, 也就是1至100, 每三个取一个, 间隔是2。numpy as np打印, 将范围从1到100的数值, 求其均值, 使用numpy库中的均值函数 , 这里是1至100均值。11、()、()、、local、()函数返回一个当前位置的所有局部变量的字典()函数返回一个全局变量的字典包括所有导入的变量local用于设置局部变量, local的设置是需要在函数体内去完成的。而在函数体内声明的变量, 其按照默认情况来讲, 通通都是局部变量。要将其设置成全局变量, 那就需要在函数的内部进行设置, 并且与此同时, 还能够去定义全新的全局变量。内层函数若要改变外层函数的变量值, 那么需在内层函数当中使用 , 并且不能去定义新的外层函数变量。12、eval()、exec()、()函数有着执行一个字符串表达式功能, 并且会返回表达式的值的函数为eval ()。参数必须是str当参数为函数名时加()获取返回值aeval(str)()实行储存在字符串或者文件里的语句的exec(), 相较于eval而言, 能够执行更为繁杂的代码。() 函数将一个字符串编译为字节代码。13、()函数把(.(a))进行输出, 这里的a能够是列表, 也能够是字符串, 并且是在随机取值的情形下。14、osos把os.path这个对象, 应用到(/root/.txt)这个路径上, 然后使用print函数进行输出, 其结果返回的是文件名。先看这样一行代码, print( os.path.(/root/.txt) ) , 它的作用是返回目录路径。没错, 就是这个代码, 它会返回目录路径。执行print函数, 该函数的参数是os.path.split函数, os.path.split函数的参数是一个字符串, 这个字符串是/root/.txt, 其作用是分割文件名与路径。把“root”, 拼接, “test”, 再拼接, “.txt”, 之后通过print函数输出, 以此来将目录以及文件名合成一个路径 , #。print(os.path.()) #获取当前文件绝对路径15、rere.sub(, repl, , count0, flags0) , #re.sub(a,b,s,1) , 把s字符串当中的a替换成为b, 次数设定为一次。16、str.(a,A), #str.(旧字符串, 新字符串) 方法, 将字符串里的 旧字符串 替换成 新字符串。17、inif res not in :.(res)if res in :print(res)18、if else真ca假cbc a if a b else b19、迭代器将 a 赋予, 通过 iter 函数作用于 range(10)从而产生的迭代器, 迭代器, 类似于 for 循环这类情况, 具备括号形式的()以及next 方法, 是这样的。print(next(a))20、生成器()生成器属于一种特别的迭代器, 具备迭代器的特性, 并且拥有惰性, 每一次当你前去访问的时候, 它就会给你返回一个值, 而不会以一次性的方式把所有内容都遍历呈现出来。会产生生成器效果的yield, 它的作用等同于返回一个值, 同时还会记住所述返回的位置, 紧接着下次进行迭代的时候, 便会从该位置往后也就是下一行起始。a i for i in range(10)#返回列表b iter(range(10)) #返回了一个迭代器c等于, 通过对从1到9的数字进行遍历, 进而得出的, 那个可用于迭代操作的生成器对象所返回的结果。print(type(a),b.(),c.())print(next(b),list(b))print(next(c),list(c))生成器表达式和列表推导式的区别1.列表推导式, 其特点在于比较耗费内存, 这是因为它会进行一次性加载, 与之不同的是, 生成器表达式几乎不会占有内存, 它只有在被使用的时候, 才会去分配内存并且使用内存。2.获取到的值是不一样的, 通过列表推导式所得到的是一个列表, 运用生成器表达式所获取的是一个生成器。21、递归对于函数而言, 在特定的某些条件之下, 它会出现自己对自己进行调用的情况, 而且并不需要自身去获取部分结果。要是有需要去获取所有结果的一个列表的情况:1、可以结合yield生成器2、也可以将每次结果保存当参数传至函数22、断言23、list和dict# 还是在原来的基础上进行修改# ls ls 会返回ls一个新创建的对象#集合里加元素lis lis