一、字符串高级
字符串的常见操作包括:
- 获取长度:len len函数可以获取字符串的长度
- 查找内容:find 查找指定内容在字符串中是否存在,如果存在就返回该内容在字符串中第一次出现的开始位置索引 值;如果不存在,则返回-1。
- 判断:startswith,endswith 判断字符串是否以谁谁谁开头/结尾
- 计算出现次数:count 返回str在start和end之间,在mystr里面出现的次数
- 替换内容:replace 替换字符串中指定的内容,如果指定次数count,则替换不会超过count次
- 切割字符串:split 通过参数的内容切割字符串
- 修改大小写:upper,lower 将字符串的大小写呼唤
- 空格处理:strip 去空格
- 字符串拼接:join 字符串拼接
- len
s = 'China'
print(len(s)) # 5
- find
s1 = 'China'
print(s1.find('a')) # 4
- startswith endswith
s2 = 'China'
print(s2.startswith('C')) # True
print(s2.endswith('a')) # True
- count
s3 = 'aaabb'
print(s3.count('a')) # 3
- replace
s4 = 'cccdd'
print(s4.replace('c', 'd')) # ddddd
- split
s5 = '1#2#3#4'
print(s5.split('#')) # ['1', '2', '3', '4']
- upper lower
s6 = 'china'
print(s6.upper()) # CHINA
s7 = 'CHINA'
print(s7.lower()) # china
- strip
s8 = ' a '
print(len(s8)) # 7
print(len(s8.strip())) # 1
print(s8.strip()) # a
- join
s9 = 'a'
print(s9.join('hello')) # haealalao
二、列表高级
添加元素
- append 在末尾添加元素
# append 追加 在列表的最后来添加一个对象/数据
food_list = ['铁锅炖大鹅', '酸菜五花肉']
print(food_list) # ['铁锅炖大鹅', '酸菜五花肉']
food_list.append('小鸡炖蘑菇')
print(food_list) # ['铁锅炖大鹅', '酸菜五花肉', '小鸡炖蘑菇']
- insert 在指定位置插入元素
# insert
char_list = ['a', 'c', 'd']
print(char_list) # ['a', 'c', 'd']
char_list.insert(1, 'b') # index的值:想插入数据的下标
print(char_list) # ['a', 'b', 'c', 'd']
- extend 合并两个列表
# extend
num_list = [1, 2, 3]
num1_list = [4, 5, 6]
num_list.extend(num1_list)
print(num_list) # [1, 2, 3, 4, 5, 6]
修改元素
通过指定下标来访问列表元素,为指定的列表下标赋值即可
city_list = ['北京', '上海', '深圳', '武汉', '西安']
print(city_list) # ['北京', '上海', '深圳', '武汉', '西安']
# 将列表中的元素值修改
# 可以通过下标来修改,注意列表中的下标是从0开始的
city_list[4] = '合肥'
print(city_list) # ['北京', '上海', '深圳', '武汉', '合肥']
查找元素
- in(存在):判断某一个元素是否在一个列表中,如果存在那么结果为True,否则为False
food_list = ['锅包肉', '汆白肉', '东北乱炖']
food = input('请输入您想吃的食物:') # 判断一下在控制台输入的那个数据,是否在列表中
if food in food_list:
print('在')
else:
print('不在,一边拉去')
- not in(不存在):如果不存在那么结果为True,否则为False
ball_list = ['篮球', '台球']
ball = input('请输入您喜欢的球类:') # 在控制台上输入您喜欢的球类,判断是否在这个列表中
if ball not in ball_list:
print('不在')
else:
print('在')
in的方法只要会用了,那么not in也是同样的方法,只不过not in判断的是不存在。
删除元素
- del:根据下标进行删除
a_list = [1, 2, 3, 4, 5]
print(a_list) # [1, 2, 3, 4, 5]
# 爬取的数据中,有个别的数据是我们不想要的,那么我们可以通过下标的方式来删除
del a_list[2]
print(a_list) # [1, 2, 4, 5]
- pop:删除最后一个元素
b_list = [1, 2, 3, 4, 5]
print(b_list) # [1, 2, 3, 4, 5]
b_list.pop()
print(b_list) # [1, 2, 3, 4]
- remove:根据元素的值进行删除
c_list = [1, 2, 3, 4, 5]
print(c_list) # [1, 2, 3, 4, 5]
c_list.remove(3)
print(c_list) # [1, 2, 4, 5]
三、元组高级
在Python中,元组与列表相似。
不同之处在于:
- 元组的元素不能修改
- 元组使用小括号(),列表使用方括号【】
- 访问元组
a_tuple = (1, 2, 3, 4)
print(a_tuple[0]) # 1
print(a_tuple[1]) # 2
print(a_tuple[2]) # 3
print(a_tuple[3]) # 4
- 修改元组
元组不可以修改里面的内容
- 访问列表
b_list = [1, 2, 3, 4]
print(b_list[0]) # 1
print(b_list[1]) # 2
print(b_list[2]) # 3
print(b_list[3]) # 4
列表可以修改里面的内容
- 修改列表
定义只有一个数据的元组:需要在唯一的元素后写一个逗号
c_tuple = (5)
print(type(c_tuple)) # <class 'int'>
# 当元组中只有一个元素的时候,那么它是整型数据
d_tuple = (5,)
print(type(d_tuple)) # <class 'tuple'>
四、切片
切片:对操作的对象截取其中一部分的操作。字符串、列表、元组都支持切片操作。
切片的语法:【起始:结束:步长】,也可以简化使用【起始:结束】
注意:选取的区间从“起始”位开始,到“结束”位的前一位结束(不包括结束位本身),步长表示选取间隔。
# 索引:通过下标取某一个元素
# 切片:通过下标取某一段元素
s = 'hello world'
print(s) # hello world
# 在切片中直接写一个下标
print(s[0]) # h
# 左闭右开区间:包含左边的数据,不包含右边的数据
print(s[0:4]) # hell
# 从下标为1开始,取出后面所有的元素(没有结束位)
print(s[1:]) # ello world
# 从起始位置开始,取到下标为4的前一个元素(不包括结束位本身)
print(s[:4]) # hell
# 从下标为0开始,取到下标为6的前一个元素,步长为2(不包括结束位本身)
print(s[0:6:2]) # hlo
五、字典高级
查看元素
除了使用key值查找数据,还可以使用get来获取数据
person = {'name': '吴签', 'age': 28} # 定义一个字典
# 访问person的name
print(person['name']) # 吴签
# 访问person的age
print(person['age']) # 28
# 使用【】的方式,获取字典中不存在的key的时候,会发生异常:KeyError
# print(person['sex'])
# 不能使用.的方式来访问字典的数据
# print(person.name)
print(person.get('name')) # 吴签
print(person.get('age')) # 28
# 使用.get的方式,获取字典中不存在的key的时候,会返回None值
print(person.get('sex')) # None
修改元素
字典的每个元素中的数据是可以修改的,只要通过key找到,即可修改
person = {'name': '张三', 'age': 18}
# 修改之前的字典
print(person) # {'name': '张三', 'age': 18}
# 修改name的值为法外狂徒
person['name'] = '法外狂徒'
# 修改之后的字典
print(person) # {'name': '法外狂徒', 'age': 18}
添加元素
如果在使用变量名['键'] = 数据时,这个“键”在字典中不存在,那么就会新增这个元素
person = {'name': '老马'}
print(person) # {'name': '老马'}
# 给字典添加一个新的key value
# 如果使用变量名字['键'] = 数据,这个键如果在字典中不存在,那么就会变成新增元素;
person['age'] = 18
print(person) # {'name': '老马', 'age': 18}
# 如果这个键在字典中存在,那么就会变成这个元素
person['name'] = '阿玛'
print(person) # {'name': '阿玛', 'age': 18}
删除元素
对字典的删除,有以下几种:
-
del
- 删除字典中指定的某一个元素
person = {'name': '老马', 'age': 18} # 删除之前 print(person) # {'name': '老马', 'age': 18} # 删除之后 del person['age'] print(person) # {'name': '老马'}
- 删除整个字典
person = {'name': '老马', 'age': 18} # 删除之前 print(person) # {'name': '老马', 'age': 18} # 删除之后 del person print(person) # name 'person' is not defined
-
clear
- 清空字典,但是保留字典对象
person = {'name': '老马', 'age': 18} # 删除之前 print(person) # {'name': '老马', 'age': 18} # 删除之后 person.clear() # 清空指的是将字典中所有的数据都删除掉,而保留字典的结构 print(person) # {}
字典的遍历
遍历:数据一个一个的输出
person = {'name': '阿玛', 'age': 18, 'sex': '男'}
- 遍历字典的key
# 字典.keys()方法,获取的是字典中所有的key值,key是一个变量的名字,我们可以随便起
for key in person.keys():
print(key)
name
age
sex
- 遍历字典的value
# 字典.values()方法,获取的是字典中所有的value值,value是一个变量的名字,我们可以随便起
for value in person.values():
print(value)
阿玛
18
男
- 遍历字典的key和value
for key, value in person.items():
print(key, value)
name 阿玛
age 18
sex 男
- 遍历字典的项/元素
for item in person.items():
print(item)
('name', '阿玛')
('age', 18)
('sex', '男')
网友评论