列表
1、列表是有序集合,没有固定大小,能够保存任意数量任意类型的 Python 对象,语法为 [元素1, 元素2, …, 元素n]
2、创建列表
(1)[]
(2)range()
(3)二维列表–>dataframe
列表内容可以更改
3、向列表中添加元素
list.append(obj),把一个东西整体添加在列表后
list.extend(seq),在列表末尾一次性追加另一个序列中的多个值
list.insert(index, obj) 在编号 index 位置插入 obj
4、删除列表中的元素
list.remove(obj) 移除列表中某个值的第一个匹配项
list.pop([index=-1]) 移除列表中的一个元素(默认最后一个元素),并且返回该元素的值
del var1[, var2 ……] 删除单个或多个对象
注:remove 和 pop 都可以删除元素,前者是指定具体要删除的元素,后者是指定一个索引
如果你要从列表中删除一个元素,且不再以任何方式使用它,就使用del语句;如果你要在删除元素后还能继续使用它,就使用方法pop()
5、获取列表中的元素
列表索引值是从0开始的,通过将索引指定为-1,可让Python返回最后一个列表元素,索引 -2 返回倒数第二个列表元素
切片的通用写法是 start : stop : step
6、列表的常用操作符
等号操作符:==(只有成员、成员位置都相同时才返回True)
连接操作符 +
重复操作符 *
成员关系操作符 in、not in
7、列表的其它方法
list.count(obj) 统计某个元素在列表中出现的次数
list.count(obj) 统计某个元素在列表中出现的次数
list1 = [123, 456] * 5
print(list1.index(123)) # 0
print(list1.index(123, 1)) # 2
print(list1.index(123, 3, 7)) # 4
list.reverse() 反向列表中元素
list.sort(key=None, reverse=False) 对原列表进行排序
reverse – 排序规则,reverse = True 降序, reverse = False 升序(默认);
key – 主要是用来进行比较的元素,只有一个参数,具体的函数的参数就是取自于可迭代对象中,指定可迭代对象中的一个元素来进行排序;
元组
「元组」定义语法为:(元素1, 元素2, …, 元素n)
小括号把所有元素绑在一起
逗号将每个元素一一分开
1、创建和访问一个元组
tuple被创建后就不能对其进行修改,类似字符串
用整数来对它进行索引 (indexing) 和切片 (slicing)
元组中只包含一个元素时,需要在元素后面添加逗号,否则括号会被当作运算符使用
2、更新和删除一个元组
元组不可以直接赋值,但如果元组中的元素可以更改,就可以更改元素。
t1 = (1, 2, 3, [4, 5, 6])
print(t1) # (1, 2, 3, [4, 5, 6])
t1[3][0] = 9
print(t1) # (1, 2, 3, [9, 5, 6])
3、元组相关的操作符
等号操作符:==
连接操作符 +
重复操作符 *
成员关系操作符 in、not in
「等号 ==」,只有成员、成员位置都相同时才返回True。
4、内置方法
元组大小和内容都不可更改,因此只有 count 和 index 两种方法。
count(‘python’) 是记录在元组 t 中该元素出现几次,显然是 1 次
index(10.31) 是找到该元素在元组 t 的索引,显然是 1
5、解压元组
解压(unpack)一维元组:左边有几个变量就从元组中定义出几个变量
解压二维元组:按照元组里的元组结构来定义变量
「*」,wildcard,可以作为rest变量包括多个元素
t = 1, 2, 3, 4, 5
a, b, rest, c = t
print(a, b, c) # 1 2 5
print(rest) # [3, 4]
不在乎 rest 变量,那么就用通配符「」加上下划线「」
t = 1, 2, 3, 4, 5
a, b, * = t
print(a, b) # 1 2
字符串
1、字符串
字符串是用引号标注的字符集合,使用成对的单引号或双引号。
Python 的常用转义字符
如果字符串中需要出现单引号或双引号,可以使用转义符号\对字符串中的符号进行转义
print(‘let’s go’) # let’s go
print(“let’s go”) # let’s go
print(‘C:\now’) # C:\now
原始字符串只需要在字符串前边加一个英文字母 r 即可
三引号允许一个字符串跨多行,字符串中可以包含换行符、制表符以及其他特殊字符。
2、字符串的切片与拼接
不可以修改
位置索引从0开始
切片start:end,前闭后开
索引值可正可负,正索引从 0 开始,从左往右;负索引从 -1 开始,从右往左。使用负数索引时,会从最后一个元素开始计数。最后一个元素的位置编号是 -1
3、字符串的常用内置方法
(1)capitalize() 将字符串的第一个字符转换为大写
(2)lower() 转换字符串中所有大写字符为小写
(3)upper() 转换字符串中的小写字母为大写
(4)swapcase() 将字符串中大写转换为小写,小写转换为大写
(4)count(str, beg= 0,end=len(string)) 返回str在 string 里面出现的次数,如果beg或者end指定则返回指定范围内str出现的次数
(5)endswith(suffix, beg=0, end=len(string)) 检查字符串是否以指定子字符串 suffix 结束,如果是,返回 True,否则返回 False。如果 beg 和 end 指定值,则在指定范围内检查
(6)startswith(substr, beg=0,end=len(string)) 检查字符串是否以指定子字符串 substr 开头,如果是,返回 True,否则返回 False。如果 beg 和 end 指定值,则在指定范围内检查
(7)find(str, beg=0, end=len(string)) 检测 str 是否包含在字符串中,如果指定范围 beg 和 end,则检查是否包含在指定范围内,如果包含,返回开始的索引值,否则返回 -1
(8)rfind(str, beg=0,end=len(string)) 类似于 find() 函数,不过是从右边开始查找
(9)isnumeric() 如果字符串中只包含数字字符,则返回 True,否则返回 False
(10)ljust(width[, fillchar])返回一个原字符串左对齐,并使用fillchar(默认空格)填充至长度width的新字符串
(11)rjust(width[, fillchar])返回一个原字符串右对齐,并使用fillchar(默认空格)填充至长度width的新字符串
str4 = ‘1101’
print(str4.ljust(8, ‘0’)) # 11010000
print(str4.rjust(8, ‘0’)) # 00001101
(12)lstrip([chars]) 截掉字符串左边的空格或指定字符
(13)rstrip([chars]) 删除字符串末尾的空格或指定字符
(14)strip([chars]) 在字符串上执行lstrip()和rstrip()
(15)partition(sub) 找到子字符串sub,把字符串分为一个三元组(pre_sub,sub,fol_sub),如果字符串中不包含sub则返回(‘原字符串’,’’,’’)
(16)rpartition(sub)类似于partition()方法,不过是从右边开始查找
str5 = ’ I Love LsgoGroup ’
print(str5.strip().partition(‘o’)) # (‘I L’, ‘o’, ‘ve LsgoGroup’)
print(str5.strip().partition(‘m’)) # (‘I Love LsgoGroup’, ‘’, ‘’)
print(str5.strip().rpartition(‘o’)) # (‘I Love LsgoGr’, ‘o’, ‘up’)
(17)replace(old, new [, max]) 把 将字符串中的old替换成new,如果max指定,则替换不超过max次
(18)split(str="", num) 不带参数默认是以空格为分隔符切片字符串,如果num参数有设置,则仅分隔num个子字符串,返回切片后的子字符串拼接的列表
str5 = ’ I Love LsgoGroup ’
print(str5.strip().split()) # [‘I’, ‘Love’, ‘LsgoGroup’]
print(str5.strip().split(‘o’)) # [‘I L’, ‘ve Lsg’, ‘Gr’, ‘up’]
(19)去掉换行符
print(c.split(’\n’))
(20)splitlines([keepends]) 按照行(’\r’, ‘\r\n’, \n’)分隔,返回一个包含各行作为元素的列表,如果参数keepends为 False,不包含换行符,如果为 True,则保留换行符
str6 = ‘I \n Love \n LsgoGroup’
print(str6.splitlines()) # [‘I ‘, ’ Love ‘, ’ LsgoGroup’]
print(str6.splitlines(True)) # [‘I \n’, ’ Love \n’, ’ LsgoGroup’]
(21)maketrans(intab, outtab) 创建字符映射的转换表,第一个参数是字符串,表示需要转换的字符,第二个参数也是字符串表示转换的目标
(22)translate(table, deletechars="") 根据参数table给出的表,转换字符串的字符,要过滤掉的字符放到deletechars参数中
tr7 = ‘this is string example…wow!!!’
intab = ‘aeiou’
outtab = ‘12345’
trantab = str7.maketrans(intab, outtab)
print(trantab) # {97: 49, 111: 52, 117: 53, 101: 50, 105: 51}
print(str7.translate(trantab)) # th3s 3s str3ng 2x1mpl2…w4w!!!
4、字符串格式化
format 格式化函数
格式化操作符辅助指令