欢迎光临
我们一直在努力

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(()))

() 计数器用于追踪值的出现次数

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))

python 列表函数_数据结构类型_Python基础教程

此时函数用于指定对列表中每一个元素的共同操作。

函数

( 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+=

赞(0)
未经允许不得转载:171主机测评 » python-列表元祖字典集合、字符、字符串、函数处理
分享到: 更多 (0)

评论 抢沙发

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址