python学习笔记(三)—— 序列类型及方法

所谓序列,指的是一块可以存放多个值的连续内存空间,可以通过每个值所在的编号(索引)去访问他们

列表(可变序列)

列表 方法 描述
append 将元素增加到末尾
insert 添加到指定位置
extend 将序列中的每个元素追加到末尾
pop 不带参数弹出最后一个元素、带参数指定下标值
remove 移除指定的元素
clear 删除列表中的所有值
li[0] = ‘list’
index 在列表中从左至右查找指定元素,找到了返回改值的下标
count 计算列表中指定元素出现的次数
其他方法 copy 返回一个改列表的复制
reverse 对列表中的元素进行反向排列
sort 对列表中的元素进行从小到大的排列

1、创建

①用“=”直接将一个列表赋值给变量

list() 函数

#方法一
>>> a_list = ['a','b','c','d']
>>> a_list
['a','b','c','d']

#方法二
>>> a_list = list(('a','b','c','d'))
>>> a_list
['a','b','c','d']

2、增

①直接用“+”运算符实现

append() 将元素追加到末尾

insert(索引位置,插入元素)添加到指定的位置

extend(可迭代对象) 将序列中的每个元素追加到末尾

#方法一 
>>> a_list
['a', 'b', 'c', 'd']
>>> a_list = a_list + ['e']
>>> a_list
['a', 'b', 'c', 'd', 'e']

#方法二
>>> a_list.append(9)
>>> a_list
['a', 'b', 'c', 'd', 'e', 9]

#方法三
>>> a_list.insert(2,'s')
>>> a_list
['a', 'b', 's', 'c', 'd', 'e', 9]
 
#方法四
>>> b_list
[1, 2, 3]
>>> a_list.extend(b_list)
>>> a_list
['a', 'b', 's', 'c', 'd', 'e', 9, 1, 2, 3]

3、删

del删除指定位置上的元素 也可以删除整个列表(不是列表独有的方法)

pop不带参数删除最后一个元素、带参数删除指定位置的值

remove移除指定的元素(没有返回值)

clear删除列表中的所有值`

#方法一
>>> a_list
['a', 'b', 's', 'c', 'd', 'e', 9, 1, 2, 3]
>>> del a_list[2]  #删除第二个元素
>>> a_list
['a', 'b', 'c', 'd', 'e', 9, 1, 2, 3]

#方法二
>>> a_list
['a', 'b', 'c', 'd', 'e', 9, 1, 2, 3]
>>> a_list.pop()  #删除最后一个元素
3
>>> a_list
['a', 'b', 'c', 'd', 'e', 9, 1, 2]
>>> a_list.pop(5)  #删除位置为5的元素
9
>>> a_list
['a', 'b', 'c', 'd', 'e', 1, 2]
>>> del a_list[3:,6]  #切片删除
>>> a_list
['a', 'b', 'c', 2]

#方法三
>>> a_list
['a', 'b', 'c', 'd', 'e', 1, 2]
>>> a_list.remove('e')
>>> a_list
['a', 'b', 'c', 'd', 1, 2]

#方法四
>>> a_list.clear()
>>> a_list
[]

4、改

①重新重新赋值

>>> li = [5,4,3,2,1]
>>> li[0]='python'
>>> li
['python', 4, 3, 2, 1]

5、查

index(元素,起始值,终止值)在列表中从左至右查找指定元素,找到了放回该值的下标

count计算列表中指定元素出现的次数

③直接指定位置索引查找

#方法一
>>> li
[5, 4, 3, 2, 1]
>>> li.index(4)
1
>>> li.index(4,0,3)
1

#方法二
>>> li=[1,2,3,3,4]
>>> li.count(3)
2

#方法三
>>> li=[1,2,3,3,4]
>>> li[1]
2

6、切片

格式: list[起始值,终止值,步长]

作用:可以原地修改列表内容,列表的增、删、改、查以及元素替换等操作都可以用切片来实现,并且不印象列表对象内存地址。

>>> l = [3,4,5,6,7,8,9,11,12,13,14]
>>> l[::]  #查找所有元素
[3, 4, 5, 6, 7, 8, 9, 11, 12, 13, 14]
>>> l[::-1] #步长为-1,即从末位置往起始位置查找
[14, 13, 12, 11, 9, 8, 7, 6, 5, 4, 3]
>>> l[::2]  #从起始位置到末位置 步长为2
[3, 5, 7, 9, 12, 14]
>>> l[1::2] #从1位置到末位置 步长为2
[4, 6, 8, 11, 13]
>>> l[3::]  #从3位置到末位置 步长为1
[6, 7, 8, 9, 11, 12, 13, 14]
>>> l[3:6]   #从3位置到6位置
[6, 7, 8]
>>> l[3:6:2]   #从起始位置到末位置 步长为2
[6, 8]
>>> l[0:100:1]
[3, 4, 5, 6, 7, 8, 9, 11, 12, 13, 14]
>>> l[100:]
[]

7、其他方法

1、copy复制一个新的列表

>>> li=[1,2,3,3,4]
>>> a = li.copy()
>>> a
[1, 2, 3, 3, 4]

2、reverse对列表中的元素进行反向排列

>>>li = [1,2,3]
>>>li
[1,2,3]
>>>li.reverse()# 不会产生新的列表
>>>li
[3,2,1]

3、sort默认升序排序(同类型)ASCII码

>>>li=[3,5,1]
>>>li.sort()
>>>li
[1,3,5]

>>>li=[3,5,1]
>>>li.sort(reverse = True) #降序排序
>>>li
[1,3,5]

>>> li = ['f','b','e','w','a']
>>> li.sort()
>>> li
['a', 'b', 'e', 'f', 'w']

>>> li = ['fd','cb','we','wc','ab']
>>> li.sort()
>>> li
['ab', 'cb', 'fd', 'wc', 'we']

4、dir 查看所有方法 help 查看帮助文档

list1 = [1,2,3]
print(dir(list1))  #查看list1列表所有的函数方法

拓展

1、Python列表脚本操作符
列表对 + 和 * 的操作符与字符串相似。+ 号用于组合列表,* 号用于重复列表。

示例:

python表达式 结果 描述
len([1, 2, 3]) 3 列表长度
[1, 2, 3] + [4, 5, 6] [1, 2, 3, 4, 5, 6] 列表组合
[‘Hi!’] * 4 [‘Hi!’, ‘Hi!’, ‘Hi!’, ‘Hi!’] 元素重复
3 in [1, 2, 3] True 元素是否存在于列表中
for x in [1, 2, 3]: print x 1 2 3 迭代

2、python包含的函数

序号 函数
1 cmp(list1, list2)] 比较两个列表的元素
2 len(list) 列表元素个数
3 max(list) 返回列表元素最大值
4 min(list) 返回列表元素最小值
5 list(seq) 将元组转换为列表

元组(不可变序列)

tuple 函数方法 描述
count 查数量
index 查第一个元素
del 删除整个元组
连接组合 a+b形式 两个元组直接相加

1、创建

用“=” 将一个元组赋值给变量

>>> tup1 = (1,2,3)
>>> tup1
(1, 2, 3)

注意:元组中只包含一个元素时,需要在元素后面添加逗号 例如:tup1 = (50,)

2、查

count() 计算元素出现个数

index(元素,起始值,终止值) 查找元素的位置

>>> tup1 = (1,2,3,2,2)
>>> tup1.count(2)
3

>>> tup1
(1, 2, 3)
>>> tup1.index(1)
0

3、连接组合

>>>a=(1,2,3)
>>>b=(3,4,5)
>>>a+b
(1,2,3,4,5)

4、删

del:删除整个元祖

>>>del a
>>>a
name 'a' not defined

5、切片

切片操作与列表一致,这里就不多说了

>>> tup1 = (1,2,3,2,2)
>>> tup1[1:3]
(2, 3)

拓展
1、元组运算符
与字符串一样,元组之间可以使用 + 号和 * 号进行运算。这就意味着他们可以组合和复制,运算后会生成一个新的元组。

python表达式 结果 描述
len((1, 2, 3)) 3 计算元素个数
(1, 2, 3) + (4, 5, 6) (1, 2, 3, 4, 5, 6) 连接
(‘Hi!’,) * 4 (‘Hi!’, ‘Hi!’, ‘Hi!’, ‘Hi!,’) 复制
3 in (1, 2, 3) True 元素是否存在
for x in (1, 2, 3): print x 1 2 3 迭代

2、元组内置函数
Python元组包含了以下内置函数

序号 函数
1 cmp(tuple1, tuple2)] 比较两个元组的元素
2 len(tuple) 计算元组元素个数
3 max(tuple) 返回元组元素最大值
4 min(tuple) 返回元组元素最小值
5 list(seq) 将列表转换为元组

字符串(不可变)

str 函数方法 描述
count 计算出现了多少次
find 查找一端数据
index 返回指定的下标
isdigit 判断一个字符串里的数据是不是都是数字
isalpha 判断每个元素是不是字母
endswith 比较结尾的元素是否相同
startswith 比较开头的元素是否相同
islower 判断字符串中的值是否全部是小写
isupper 判断字符串中的值是否全部是大写
replace
upper 把所有的字母转换成大写
lower 把所有字母转换成小写
strip (lstrip,rstrip) 除去空格带参数,去除指定元素的开头和结尾的相同的元素
capitalize
title
split 划分字符串
join
字符串拼接

1、查

count计算出现了多少次

>>> str1 = 'hello world'
>>> str1.count('l')
3

find(元素,起始值,终止值) 如果包含子字符串返回开始的索引值,否则返回-1。

>>> str1 = 'hello world'
>>> str1.find('ll')
2
>>> str1.find('a')
-1
  • index、返回指定值的下标,没有会报错
  • isdigit、判断一个字符串里的数据是不是都是数字
  • isalpha、判断每个元素是不是字母
  • endswith、比较结尾的元素是否相同
  • startswith、比较开头的元素是否相同
  • islower、判断字符串中的值是否全是小写的
  • isupper、判断字符串中的值是否全是大写的

2、改

capitalize把第一个字母转换成大写

>>>a= "hello world"
>>> a.capitalize()
'Hello world'

title每个单词的首字母进行大写转换

>>> a= "hello world"
>>> a.title()
'Hello World'

split没有参数默认以空格来切割、有参数

>>>b.split()# 默认为切割  特别常用 爬虫
>>>b = 'hello world python'
>>>b.split('o')
['hell', ' w', 'rld pyth', 'n']

replace替换把对象中有的值放第一个参数中替换成第二个参数

str.replace(old, new[, max])

old -- 将被替换的子字符串。
new -- 新字符串,用于替换old子字符串。
max -- 可选字符串, 替换不超过 max 次(默认是全部,可以指定次数)
>>> str2 = "hello world"
>>> str3 = str2.replace('h', 'H')  #如果不赋值给str3就会出错
>>> str3
'Hello world'
  • upper、把所有的字母转成大写
  • ​ lower、把所有的字母转成大写
  • ​ strip (lstrip,rstrip)、去除左右两边的空格(去左,去右),带参数去除指定元素的开头和结尾的相同的元素
>>>str = "00000003210Runoob01230000000"; 
>>>str.strip( '0' );  # 去除首尾字符 0
>>>a = '  hello python  '
>>> a.strip()  # 去除首尾空格
'hello python'
 
>>>str2 = "Runoob";   
>>>str2.strip("R");
'unoob'

#编译器会去除两端所有相应的字符,直到没有匹配的字符。
>>>dodo = "say hello say boy saaayaaas"  
>>>print(dodo.strip('say') ) 
 hello say boy 

3 增

字符串拼接

转义

str的转义
\n 换行
\t 水平制表符
\b 退格
\r 回车,当前位置移到本行开头
\\ 代表反斜杠 \
代表一个单引号,同样的 “ 等符号也可以这么输出
\0 代表一个空字符
\a 系统提示音

交互式模式:是什么就显示什么

print:尽量展示为人类可以看懂得数据(调用__ str __)

字符前面加上   \   ,字符就不再表示字符本身的意思,表示ASCII码中不能显示字符,常见有下:
	\n	换行
	\t	水平制表符	Tab 四个空格
	\b	退格	
	\r	回车,当前位置移到本行开头
	\\	代表反斜杠  \
	\’	代表一个单引号,同样的 “ ?   等符号也可以这么输出
	\0	代表一个空字符
	\a	系统提示音
在python中如果要去掉字符串的转义,只需要在字符串前面加上 r	
	r'abc\tabc'
	
>>>a = "abc\babc"
>>>print(a)
"ababc"
>>>print(r"abc\babc")
"abc\babc"

字符串方法本身不会变,但是我们可以拿来赋值拿来用就很简单了

字符串拼接

1、+

>>> a = 'abc'
>>> b = 'def'
>>> a+b
'abcdef'

2、%s

>>> name = 'wc'
>>> age = 18
>>> print('你好%s,你%s岁' %(name,age))
你好wc,18

3、join

>>>"-".join("hello")
'h-e-l-l-o'
>>>"-".join(['hello','world'])
'hello-world'

4、format

>>>'{} {} {}'.format('I','love','you')
'I love you'
>>>'{0} {1} {2}'.format('a','b','c')
'a b c'
>>>'{n1} {n2} {n3}'.format(n1='name',n2='age',n3='sex')
'name age sex'
>>>'{}-{}-{}'.format('I','love','you')
'I-love-you'

猜你喜欢

转载自blog.csdn.net/qq_46485161/article/details/115215392
今日推荐