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(()))
() 计数器用于追踪值的出现次数
from
print(()
(add)判断是可执行函数,返回True
2、字符串
s1=""
s2="123"
s3 = 456
print(s1+s2)
print(s1*2)
print(len(s1))
print(s1)
print(s1)
print(s1)
print(s1)
print(s1) 反转
3、字符池
. #字符池a-zA-Z
. #字符池0-9
str = .+. #字符池a-zA-Z0-9
.() #方法检测字符串是否只由字母组成
.() #方法检测字符串是否只由数字组成
4、切片
L =
分别叫做亚当, 被称作丽莎, 名为巴特, 叫保罗。
print(L) #Adam
print(L) #Paul
print(L) #
'Adam', 'Lisa', 'Bart', 'Paul'
#复制
print(L) #
'Adam', 'Lisa'
前两个
print(L) #
'Adam', 'Lisa','Bart'
前三个
print(L) #
'Adam', 'Lisa', 'Bart', 'Paul'
print(L) #
'Adam', 'Bart'
每隔两个取一个
print(L) #
有叫“保罗”的, 有叫“巴特”的, 有叫“丽莎”的, 有叫“亚当”的。
逆序
L="shuzf" #
字符“shuzf”, 名为“Lisa”之人, 名为“Bart”之人, 为“Paul”之人。
替换
del L #
'Lisa', 'Bart', 'Paul'
删除
L="Adam" #
“A”, “d”, “a”, “m”, “Lisa”, “Bart”, 称 “ Paul”。
#插入
5、列表推导式
表达式 for 变量 in 可迭代对象
表达式 for 变量 in 可迭代对象 if 筛选条件
当真的值, 若满足if条件, 就取真的值, 若不满足if条件而是else情况, 就取假的值, 针对变量, 在可迭代对象中进行操作。
print(
f(x) for x in a
print(
f(x) for x in a if x%2==1
print(
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 in
11, 12, 13
else 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: x+1, range(1,11))

此时函数用于指定对列表中每一个元素的共同操作。
函数
( x,y:x+y,range(1,11))
此时函数用于指定列表中两两相邻元素的结合条件。
8、大小写、分割、删除、替换、连接
'd'%i #以两位输出字符:01,02
'%.2f'%i #以小数输出字符:1.00,2.00
str.lower() #转小写
str.upper() #转大写
拿str.split(s,num)来说, 起分割作用, 分割的对象是分割符s, 分割的实施次数是num, 默认情况下是以空字符进行分割, 最终返回的结果是list。
str.strip(s), 这用于删减掉, 位于字符串首位以及末尾的字符s, 其默认的情况是要除去位于首部与尾部的空白字符, 这里所涵盖的空白字符有'\\n', 还有'\\r', 另外还有'\\t', 以及' '。
对olds进行替换, 将其替换为news, 替换的次数为1次, 这里的替换是默认对所有符合条件的进行替换。
str.join(list) #连接 以str连接list
str.() 方法用于截掉字符串左边的空格或指定字符
str.() 删除 字符串末尾的指定字符(默认为空格)
把str的(s, beg设为0, end设为len())来使用, 判断str是不是以s开头, ()这个方法是用来检查字符串是不是以指定子字符串开头的, 要是是的话就返回True, 不然就返回False。
那用于判断一个字符串是不是以特定后缀结尾的方法, 是str.(s, beg=0,end=len()) , 它会在字符串以指定后缀结尾时返回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,当参数为函数名时加()获取返回值
a=eval('str')()
实行储存在字符串或者文件里的语句的exec(), 相较于eval而言, 能够执行更为繁杂的代码。
() 函数将一个字符串编译为字节代码。
13、()函数
把(.(a))进行输出, 这里的a能够是列表, 也能够是字符串, 并且是在随机取值的情形下。
14、os
os
把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、re
re.sub(, repl, , count=0, flags=0) , #re.sub(a,b,s,1) , 把s字符串当中的a替换成为b, 次数设定为一次。
16、
str.('a','A'), #str.(旧字符串, 新字符串) 方法, 将字符串里的 旧字符串 替换成 新字符串。
17、in
if res not in :
.(res)
if res in :
print(res)
18、if else
真c=a,假c=b
c = a if a > b else b
19、迭代器()
将 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+=


