1.字符串(str)
1.1字符串的定义
格式 :字符串名 = '要定义的内容'
例如:
s1 = 'hello'
1.2字符串的索引
字符串索引方式有两种
1.从左边开始:0~len(s)-1
2.从右边开始:-len(s)~-1
索引结构
索引可以两边一起用,如:
s1 = 'hello world'
print(s1[0:-1])
输出结果为:
hello worl
结果为什么是hello worl 而不是hello world,请接着往下看
1.3字符串的截取
格式:字符串变量[start:end] 包含start,不包含end.(左闭右开)
例如:
s1 = 'hello'
print(s1[0:2])
输出结果为:
he
输出结果不是hel的原因就是它截取的是从0 (包括0)到2(不包括2)之间的字符。
格式:字符串变量[start:end:step]
这个也可以用作截取字符串,和上面不同的地方在于它多了step(步长),步长的意思就是隔几个一取,例如:
s1 = 'hello world'
print(s1[0:9:2])
输出结果为:
hlowr
步长默认为1,如果括号中第一个冒号前面什么都没写如s1[:9]表示从头开始找到第9个之前,如果写成s1[::]表示从头找到尾,如果不知道字符共有多少的话经常用这个表示。
步长也可以为负。表示从右向左取,但是此时start到end的方向必须也是从右向左。
例如:
s1 = 'hello world'
print(s1[-1:-10:-2])
输出结果为:
drwol
1.4字符串的常见操作
获取长度:len
查找内容:find,index,rfind,rindex
判断:startswith,endswith,isalpha,isdigit,isalnum,isspace
计算出现次数:count
替换内容:replace
切割字符串:split,rsplit,splitlines,partition,rpartition
修改大小写:capitalize,title,upper,lower
空格处理:ljust,rjust,center,lstrip,rstrip,strip
字符串拼接:join
注意:在python中,字符串是不可变的!所有的字符串相关方法,都不会改变原有的字符串!都是返回一个结果,保留在新的返回值里面。
1.5格式化输出
一种是前面我们介绍的print(),另一种是format.
name = '赵丽颖'
age = 18
print('美女%s今年%d岁' % (name, age))
result = '美女{}今年{}岁'.format(name, age)
print(result)
输出结果为:
美女赵丽颖今年18岁
美女赵丽颖今年18岁
使用数字填充,从0开始计数
result = '美女{0}今年{1}岁,我也今年{1}岁'.format(name, age)
变量名的形式,format的参数必须是关键字参数
result = '美女{name}今年{age}岁'.format(name='赵丽颖', age=19)
2.列表(list)
2.1列表的简介及定义
<class 'list'>表示列表,在python中用方括号表示列表
定义:
空列表 :用方括号表示[ ]
有内容的列表:['1','2','3'],['A','B','C']
2.2列表的增删改查
2.2.1增加元素
添加元素:append 追加 类似排队
例如:
list1 = ['牛奶', '面包', '辣条']
list1.append('火腿')
print(list1)
输出结果为:
['牛奶', '面包', '辣条', '火腿']
2.2.2删除元素
pop
pop(index):根据下标删除列表中元素,下标在写的时候注意不要超出范围
pop()从后往前依次删除
例如:
list1 = ['牛奶', '面包', '辣条']
list1.pop(2)
print(list1)
删除后的结果为
['牛奶', '面包']
remove
remove(element):根据列表名称删除 如果删除的元素列表不存在,则报错。如果列表中存在多个同名元素element,只删除遇到的第一个元素,后面的元素不会被删除。
例如:
list1 = ['牛奶', '面包', '辣条']
list1.remove('牛奶')
print(list1)
输出为:
['面包', '辣条']
clear
清空元素列表,但是结构还在,可以往里面加入数据,用del删除的元素直接删除整个结构,不能往里面加入数据。
2.2.3修改元素
通过赋值改变元素的值,例如:
list1 = ['牛奶', '面包', '辣条']
list1[1] = '水'
print(list1)
运行结果为:
['牛奶', '水', '辣条']
另一种是往里面插入值
insert(位置,元素):元素占了位置,其他元素后移
index(元素):根据元素找元素的位置下标,返回值是下标位置
2.2.4查找元素
1.元素 in list 返回bool类型
2.list.index(元素) 返回元素下标位置,如果没有此元素则报错
3.list.count(元素) 返回整数 返回值是零则表示不存在此元素,存在则返回个数
2.2.5sort排序
number.sort()# 默认是升序排列的,可以通过reverse参数控制升序还是降序
number.sort(reverse=True)降序排列
number.reverse()#没有排序,单纯反转
3.元组(tuple)
python的元组与列表类似,不同之处在于元组的元素不能修改。
元组使用小括号(),列表使用方括号[ ]
定义
名 = ()
注意:如果元组中只有一个元素,必须加逗号('aaa',) (1,)
('aa')-----<class 'str'>
('aaa',)---------<class 'tuple'>
因为元组不能修改,所以只能 count 和index。如果想要对它进行删改,只能把它转化成列表。
4.字典(dict)
4.1字典的结构及定义
结构:{键1:值,键2:值,键3:值}
字典:{} (字典用大括号表示)
元素:键对值
注意:键是唯一的,值是允许重复的
定义:dict = {key:value,key:value...}
4.2添加元素
字典名[key] = value
注意:key是字典唯一的,所以在添加的时候如果出现同名的key,后面的key对应的value则替换原来的.
4.3修改value值
字典名[key] = value
关键看键:如果字典中不存在键,则是添加
如果字典中存在键,则是修改
4.4删除字典
4.4.1pop()删除
根据key实现删除,删除的是键值对,返回值是key对应的value
例如:
dictionary = {'name': '梨花', 'sex': '女'}
result = dictionary.pop('name')
print(result)
print(dictionary)
第一个输出为返回值,第二个输出为删除后字典里面剩余的内容
梨花
{'sex': '女'}
4.4.2popitem()
返回值:(key,value)是一个元组
从后往前删,
例如:
dictionary = {'name': '梨花', 'sex': '女'}
result = dictionary.popitem() # result 用来接受返回值
print(result)
print(dictionary)
输出结果为:
('sex', '女')
{'name': '梨花'}
4.5查询和遍历
list.index()
list.count()
in
获取:
dict.get(key):根据key获取value值
dict[key]:根据key获取value值
dictionary = {'name': '梨花', 'sex': '女'}
result = dictionary.get('name')
print(result)
result = dictionary['name']
print(result)
输出结果为
梨花
梨花
区别:
get(key) 里面的key如果不存在则返回None,同时get(key,默认值)可以设置默认值
dict[key] 里面的key如果不存在则会报错。
如果使用for...in 直接遍历字典,取出的是字典的key
dictionary = {'name': '梨花', 'sex': '女'}
for i in dictionary:
print(i)
输出结果为
name
sex
获取字典中所有的value值 : dict.values() 就是将所有的值存放在一个列表
获取字典所有的key: dict.keys()
获取键值对 : dict.items()
dictionary = {'name': '梨花', 'sex': '女'}
for k, v in dictionary.items():
print(k, v)
输出结果为:
name 梨花
sex 女
5.集合(set)
5.1集合的特点及定义
特
没有重复,无序的(没有下标)
符号:{}{元素,元素,元素,...} -------->集合
{} {key:value,key:value,...}-------->字典
定义:
定义一个空集合:set1 = set()
不能set = {} 这样定义, 这样定义出来是一个空字典,而不是一个空集合。
5.2增加元素
set.add()
例如:
set1 = set() # 定义一个空集合
set1.add(5)
print(set1)
输出结果为
{5}
5.3删除元素
remove
set1 = {1, 6, 3, 9, 5, 4, 7}
set1.remove(1)
print(set1)
输出结果为
{3, 4, 5, 6, 7, 9}
discard 和remove类似
pop随机删除元素,其实并不是随机删除的,只是集合是无序的,所以看起来是随机删除的。
5.4集合相关操作
集合
交集 intersection(&)
并集 union(|)
差集 difference(-)
例如:
set1 = {1, 6, 3, 9, 5, 4, 7}
set2 = {1, 2, 3, 4, 5}
# 交集
result = set1.intersection(set2)
print(set1 & set2)
print(result)
# 并集
result = set1.union(set2)
print(set1 | set2)
print(result)
# 差集
result = set1.difference(set2)
print(set1 - set2)
print(result)
运行结果:
{1, 3, 4, 5}
{1, 3, 4, 5}
{1, 2, 3, 4, 5, 6, 7, 9}
{1, 2, 3, 4, 5, 6, 7, 9}
{9, 6, 7}
{9, 6, 7}