python3基础:序列(字符串、列表、元祖)通用操作

序列通用操作(字符串、列表、元祖)

目录

序列通用操作(字符串、列表、元祖)

1.索引

2.切片:正序、倒序、间隔

​​​​​​​3.+操作符:序列的连接

​​​​​​​4.*操作符:序列的复制

​​​​​​​5.len(seq):获取序列中元素的个数

​​​​​​​6.max(seq):获取序列中最大值

​​​​​​​7.min(seq)获取序列中最小值

​​​​​​​8.in/not in:判断元素是否在序列中

扫描二维码关注公众号,回复: 3536593 查看本文章

​​​​​​​9.list()/tuple()/str():序列转换函数


1.索引

序列是有顺序的集合,都可以通过索引取得对应的值

列表:

>>> a = [1,2,3,4]

>>> a[0]

1

>>> a[-1]

4

元祖:

>>> a = (1,2,3,4)

>>> a[-1]

4

>>> a[0]

1

字符串:

>>> s = 'abcdefg'

>>> s[0]

'a'

>>> s[1]

'b'

​​​​​​​​​​​​​​2.切片:正序、倒序、间隔

说明:

l[start:end:span]
遍历 [start,end),间隔为 span,当 span>0 时正序遍历, 当 span<0 时,逆着遍历。start 不输入则默认为 0,end 不输入默认为长度。 

 

以下以列表为例,字符串和元组一样:

 

代码示例:切片获取序列的值

>>> a = [1,2,3,4,5,6,7,8,9]

>>> a[:]  #正序

[1, 2, 3, 4, 5, 6, 7, 8, 9]

>>> a[::2] #正序,间隔为1

[1, 3, 5, 7, 9]

>>>

>>> a[::-1] #逆序

[9, 8, 7, 6, 5, 4, 3, 2, 1]

>>> a[::-2]#逆序,间隔为1

[9, 7, 5, 3, 1]

>>> a[1:3]  #正序,取部分值

[2, 3]

>>> a[-2:-5]#逆序且指定end时,必须存在span

[]

>>> a[-2:-5:-1] #正序,取部分值

[8, 7, 6]

>>>

 

代码示例:越界不会抛异常

>>> a = [1,2,3,4,5,6,7,8,9]

>>> a[0::-1]

[1]

>>> a[0:8:-1]

[]

>>> a[-1:-1:-1]

[]

>>> a[0:-1:-1]

[]

>>> a[-1:0:-1]#取不到索引为0的元素,因为是开区间,不包括end所在的位置

[9, 8, 7, 6, 5, 4, 3, 2]

>>> a[11:]  #越界返回空列表,不会抛异常

[]

 

切片赋值:可多可少可正好

序列中由等号左边[]中指定的区间由等号右边的值整体替换

a = [[-1,-2],2,3,-3,0,-5,5]

>>> a
[[-1, -2], 2, 3, -3, 0, -5, 5]
>>> a[0:2]=[1,2,3]
>>> a
[1, 2, 3, 3, -3, 0, -5, 5]
>>> a[0:2]=[-1]
>>> a
[-1, 3, 3, -3, 0, -5, 5]

 

​​​​​​​3.+操作符:序列的连接

>>> [1]+[2,3,4]

[1, 2, 3, 4]

>>> ('a',)+('b','c')

('a', 'b', 'c')

>>> 'a'+'1'

'a1'

>>>

>>> {1:2}+{3:4}  #字典不能直接+操作
Traceback (most recent call last):
 File "<stdin>", line 1, in <module>TypeError: unsupported operand type(s) for +: 'dict' and 'dict'

 

​​​​​​​4.*操作符:序列的复制

>>> [1,2,3]*3

[1, 2, 3, 1, 2, 3, 1, 2, 3]

>>> ('hello',)*3

('hello', 'hello', 'hello')

>>> 'aa'*3

'aaaaaa'

>>>

​​​​​​​5.len(seq):获取序列中元素的个数

>>> len([1,2,[3,4],'a'])

4

>>> len((1,2,[3,4],'a'))

4

>>> len('hello')

5

​​​​​​​6.max(seq):获取序列中最大值

>>> max([1,2,3,9,'a'])#有数字和字母时是按字母的ascii码比较

'a'

>>> max((1,2,3,9,'a',1.9))

'a'

>>> max('anb890')

'n'

>>> max({1:'a',2:'b'}) #字典默认是取key的最大值

2

​​​​​​​7.min(seq):获取序列中的最小值

>>> min([1,2,3,9,'a'])

1

>>> min((1,2,3,9,'a',1.9))

1

>>> min('anb890')

'0'

>>> min({1:'a',2:'b'})

1

​​​​​​​8.in/not in:判断元素是否在序列中

>>> 1 in [1,2,3]

True

>>> 1 not in [1,2,3]

False

>>> 1 not in (1,2,3)

False

>>> 1 in (1,2,3)

True

>>> 'a' in 'apple'

True

>>> 'b' in 'apple'

False

>>>

>>> 1 in {1:'a',2:'b'}#字典默认判断的是元素是否在key中

True

 

​​​​​​​9.list()/tuple()/str():序列转换函数

>>> list('abc') #字符串转列表

['a', 'b', 'c']

>>> list(('a','b','c'))#元祖转列表

['a', 'b', 'c']

>>> tuple('abc')#字符串转元祖

('a', 'b', 'c')

>>> tuple([1,2,3,4])#列表转列表

(1, 2, 3, 4)

 

>>> str(123)#将数字转换成字符串

'123'

>>> str([1,2,3])#将列表整体转换为一个字符串

'[1, 2, 3]'

猜你喜欢

转载自blog.csdn.net/kongsuhongbaby/article/details/82969672