Python3中常用的字符串文本解析、拷贝、推导等方法

一、Split与join

1、s.split(sep=None):将字符串使用sep作用为分隔符分割s字符串,返回分割后的字符串的列表,当不给定参数时,用空白字符作为分隔符进行分割。例:

S = ‘Shanghai is city’

L = s.split(‘ ‘) è L = [‘Shanghai’,’is’,’city’]

2、s.join(iterable):用可迭代对象中的字符串,返加一个用s进行分隔的字符串,并用一个新的变量接收。例:

S = ‘ \‘

L = [‘c:’, ‘programe files’,’python3’]

S2 = s.join(l) s2 = ‘c:\programe ifles\python3’

二:深拷贝和浅拷贝

1、浅拷贝(shallow copy)

是指在复制过程中只复制一层变量,不会复制深层变量绑定的对象的复制过程。

例:定义三个列表:

L = [3.1, 3.2]

L1 = [1, 2, L]

L2 = L1.copy() # 等同于 L1[:]

Print(L1) [1, 2 [3.1, 3.2]]

Print(L2) [1, 2 [3.1, 3.2]]

L2[2][0] = 3.14 把L2列表索引为2的第一个值改成3.14,此时L1和L2的值是多少?

2、深拷贝(copy.deepcopy)

先导入copy模块import copy,深拷贝通常只对可变对象复制,不可变对象通常不变。如上述1例子中,如果用深拷贝(deepcopy),L1和L2的最后结果会是什么?

三:列表推导式(list comprehension)

1、列表推导式是用可迭代对象依次生成带有多个元素的列表的表达式

2、作用:用简易方法生成列表

3、语法:

[表达式 for 变量 in 可迭代对象]

[表达式 for 变量 in 可迭代对象 if 真值表达式](先执行可迭代对象,第二步传变量,第三判断真值表达式是否为真,如果为真,最后把值传给表达式,生成列表)

示例:

生成一个数值为1~9的平方的列表(生成的新列表为各数的平方)

L = [x * x for x in range(1, 10)]

用列表推导式生成1~100内的奇数的列表

四:列表推导式的嵌套

语法:

[表达式1

For 变量 1 in 可迭代对象1 if 真值表达式1

For 变量 2 in 可迭代对象2 if 真值表达式2

……]

示例:

L1 = [2, 3, 5]

L2 = [7, 11, 13]

将L1中的全部元素与L2中的全部元素依次相乘后放到列表L3中。注:先从列表中拿出L1中的第一个元素,再拿出L2中的第一个元素,把结果放到新列L3中,然后再取出列表L2中的第二个元素,和列表L1中的2相乘…………,直到列到L2中的元素取完。再次拿出列表L1的第二个元素,依次跟L2中的元素相乘……,直到所有的元素都循环为止。其结果如下图:


推荐我们的Python学习扣qun:784758214 ,看看前辈们是如何学习的!从基础的python脚本到web开发、爬虫、django、数据挖掘等【PDF,实战源码】,零基础到项目实战的资料都有整理。送给每一位python的小伙伴!每天都有大牛定时讲解Python技术,分享一些学习的方法和需要注意的小细节,点击加入我们的 python学习者聚集地

朋友们,有关字列表的解析、拷贝等内容到这就和大家说再见了,如果大家喜欢小编的干货技术:请加粉、评论、关注!小编一定会再接再厉,创造更多的优质内容与大家分享。

发布了30 篇原创文章 · 获赞 4 · 访问量 3万+

猜你喜欢

转载自blog.csdn.net/ITHHH777/article/details/104195501