python序列操作函数有哪些_Python入门 3——序列及相关操作

一、 什么是序列

序列是Python最基本的数据结构,“X=1”指的是X是一个变量,值为1;“Y=[1,2,3]”指的是Y是一个序列(可变序列列表);每个元素被分配一个序号,即元素的位置,也被称为索引。

序列可分为可变序列,不可变序列,可变序列:列表 List,不可变序列:元祖 Tuple、字符串 str。

二、序列基础操作

1、判断是否属于序列

lst=[1,2,3,4,5]

a,b,c=1,2.0,'hello'

print(a in lst)

print(b in lst)

print(c in lst)

注意:a和b虽然字符类型不一样,但是数值本身是属于lst的。

2、序列链接与重复

lst1=[1,2,3]

lst2=['a','b']

print(lst1+lst2)

print(lst2+lst1)

注意:序列相加是有顺序的。

lst1=[1,2,3]

lst2=['a','b']

print(lst1*3)

print(lst2*2)

3、下标索引

lst1=[1,2,3,4,5,6]

print(lst1)

print(lst1[0],lst1[2],lst1[3])

print(lst1[-1],lst1[-3])

注意:下标0表示第一个数,下标1表示第二个数,以此类推,-1表示倒数第一个数,-2表示倒数第二个数,以此类推。

4、切片

我们可以将索引理解为指向序列中的一个元素,而切片则是指向序列中的多个元素:

lst1=[1,2,3,4,5,6]

print(lst1[0:2])

注意:切片可以理解为序列中的一个区间,而且是一个左闭右开的区间,所以上述案例中并没有包含序列中的第三个元素。

lst1=[1,2,3,4,5,6]

print(lst1[:5])

5、步长

lst1=[1,2,3,4,5,6]

print(lst1[1:5:2])

上述案例可以理解为从第2个元素到第5个元素提取,然后每隔2步提取一个值。

lst1=[1,2,3,4,5,6]

print(lst1[1:5:2])

print(lst1[0::2])

6、序列的基本内置全局函数

在这一小节中我将列举一些比较常用的全局函数:

lst1=[1,1,2,3,4,5,6]

print(len(lst1)) # 求长度的函数

print(max(lst1),min(lst1),sum(lst1)) # 最大值,最小值,求和

print(lst1.index(1)) # 求索引数值,即在序列中数值为1的值的索引是多少,这是个方法

print(lst1.count(1)) # 求函数中数值1一共出现了多少次,这是个方法

注意:index会返回第一个值的索引。

三、列表List常用操作

列表中的元素可以是数字、字符串、列表、字典:

lst=[1,2,3,'abc',[1,2,3],[1,['旭鹏',2,3],2]]

print(lst)

如果我们要单独提取这个列表中的“旭鹏”二字,可以如下操作:

lst=[1,2,3,'abc',[1,2,3],[1,['旭鹏',2,3],2]]

print(lst[-1][1][0])

先提取最后一个元素即-1,然后再提取第二个元素即1,最后再提取第一个元素即0:

1、案例讲解

创建一个列表,包含三天的订单量100,90,80:

orders=[100,90,80]

创建一个列表name=['Amazon','Alibaba','Ebay'],增加'Wish'的名字上去:

name=['Amazon','Alibaba','Ebay']

print(name+['Wish'])

name.append('Wish')

print(name)

2、列表与生成器

print(range(5),type(range(5)))

lst=list(range(5))

print(lst)

range()本身是一个生成器,指向了一个范围,比如range(5)代表指向了0,1,2,3,4这几个值,range(2,5)代表指向了2,3,4这几个值,需要注意的是这里仅仅只是指向不是使用,range(0,10,2)代表指向了0,2,4,6,8这几个值,最后的2代表的是步长。

注意:range()生成的都是整数。

3、range添加单个元素

lst=list(range(10))

print(lst+[1,2,3])

lst=list(range(10))

lst.append('a')

print(lst)

注意,append会改变原始的数值。

4、range添加多个元素

a=[1,2,3]

b=[3,4,5]

print(a)

a.extend(b)

print(a)

a.append(b)

print(a)

5、删除元素

lst=list(range(10))

print(lst)

lst.remove(5)# 移除值为5的元素

print(lst)

del lst[0] # 删除第一个值

print(lst)

del lst[2:4]

print(lst) # 删除第三和第四个值

lst.clear()

print(lst) # 清空所有数值

注意:元祖不可单独删除内部元素(不可变性),但是可以用del语句来删除整个元祖。

6、插入元素

lst=[1,2,3]

lst.insert(0,'a') # 在第一个元素后面插入一个a

print(lst)

7、复制

x=list(range(10))

y=x.copy()

z=x

print(x)

print(y)

print(z)

x[2]=88

print(x)

print(y)

print(z)

注意:x与z中的元素都发生了改变,但是y的元素没有发生改变,这是因为copy()形成了一个新的列表。

8、排序

用sort()方法排序本身是将列表中的数字由小到大排列,字母由英文字母排列:

lst1=[1,3,11,2,89]

lst2=['z','b','a']

lst1.sort()

lst2.sort()

print(lst1,lst2)

用sorted()函数排序本身是将列表中的数字由小到大排列,字母由英文字母排列,它与sort()方法不同的地方是它会排序并复制一个新的列表:

lst1=[1,20,8,3,66,12]

lst3=sorted(lst1)

print(lst1,lst3)

四、文本序列str的常用基本操作

1、字符串引号

字符串中加引号可以单引号中镶嵌双引号,也可以双引号中镶嵌单引号:

a='abc'

b='bcd'

c='abd"bcd"'

print(a)

print(b)

print(c)

2、转义字符

转义字符可以用来表示双引号或者换行:

print('\"')

print('a\nb')

于此同时也可以用来表示斜杠线,或者用来表示目录:

print('\\')

print("C:\\Users\\ypf\\Downloads\\文档\\出书文档\\亚马逊跨境电商运营实战")

print(r"C:\Users\ypf\Downloads\文档\出书文档\亚马逊跨境电商运营实战")

print("C:/Users/ypf/Downloads/文档/出书文档/亚马逊跨境电商运营实战")

3、字符串常用功能

字符串的修改更换:

st='i am xupeng'

st2=st.replace('xupeng','Amazon')

print(st)

print(st2)

st='hahaha'

st2=st.replace('ha','he',2) # 只改两个ha

print(st2)

字符串的拆分:

st='ypf111,123.11,11'

lst=st.split(',') # 用split来分隔

print(lst)

字符串的连接:

lst='Amazon'

m='-'

st2=m.join(lst)

print(st2)

# 连接字符串

字符串的判断:

st='Amazon Ebay Wish Alibaba'

print(st.startswith('A'),st.endswith('a'))

# 判断是否以A开头 与 判断是否以a结尾

字符串的大小写变化:

st="amazon Wish"

print(st.upper()) # 全部大写

print(st.lower()) # 全部小写

print(st.swapcase()) # 大小写互换

print(st.capitalize()) # 首字母大写

数字、字母与空格的判断:

st='123456'

print(st.isnumeric())

# 如果string只包含数字则退回True否则退回False

st='XUPENG'

print(st.isalpha())

# 如果string至少有一个字符并且所有字符都是字母则返回True,否则为False

st='xupeng '

print(st.rstrip())

# 剔除字符末尾的空格

4、格式化字符

name="旭鹏"

st="关注%s知乎live 获得更多运营知识"%name

print(st)

# %s表示我们这里要插入一个变量(字符串),%name代表这里我们插入name

关于百分号%之后可以是s,i或者f,s指的就是字符串,i指的就是整数,f指的就是浮点型:

x=4

y='xupeng'

z=1.1

print('this is%i'%x)

print('this is%s'%y)

print('this is%f'%z)

如果有多个格式化字符:

print('学习%s与%s'%('电商运营','编程技巧'))

科学记数法:

m=123.123123123

print('this is%.2e'%m)

print('this is%.4E'%m)

format的格式化方法:

print('旭鹏的知乎live怎么样{}'.format(',5.0满分live'))

st='早啊~!{}'

print(st.format('早啊老师'))

print('{}{}{}'.format('a','b','c'),'\n',

'{0}{1}{1}{0}'.format('a','b','c'),'\n')

print('{}{}{}'.format('a','b','c'))

#{}与{0}的区别:都是占位符,后者有了明确的指定

print('我的工作是{work}'.format(work='电商运营'))

#也可以用变量来指示

# 百分号的话要写2个##

print('今年业绩增长了%.2f%%'%25.88)

你可能感兴趣的:(python序列操作函数有哪些)