字符串
字符串的格式化
方式1
整体结构一致,但部分不一样:
** 格式内置 + 变化内容 **
在定义字符串时:格式化字符串:‘格式化{0}格式化{1}’
如:‘name是:{0},class是:{1}’
student = 'name is : {0} , class is : {1}'
具体实现格式化字符串,是通过调用 .format()
方法
student.format(value0,value1)
方式2
格式化字符串:‘格式化{标记n}格式化{标记i}格式化{标记m}’
student = 'name is : {MARKNAME} , class is : {MARKCLASS}'
实现:
student.format(MRAKCLASS=int/变量,MARKNAME='name')
填充与对齐
- " ^ ":居中
- " < ":左对齐
- " > ":右对齐
承接上文
{编号、标记 : 填充字符+对齐方式+长度}
例如:student = 'name is : {MARKNAME:*^16} , class is : {MARKCLASS}'
student.format(MARKNAME='yky',MARKCLASS=1)
数字类型的对齐:
常用的关于字符串的方法
遍历:(not)in
判断字符串中是否有某个字符串,'字段' in '字符串'
,返回T或F
查找:find、rfind
查找字段第一次出现的位置,字符串.find('字段')
查找字段最后一次出现的位置,字符串.rfind('字段')
出现次数:count
字符串.count(‘字段’)
文件模式
文件模式是指:把所有要完成python程序功能代码依次实现出来写入到一个或多个文件中保存,让他通过python解释器把文件中的python代码进行执行
- PyCharm的使用,不多说
流程控制
特殊的数据类型
序列
序列:存储数据的方式,表示存储一系列(多个可能相关)数据,可以存储多个值
python中常用的序列:列表、元组、字典、集合
-
列表:List
可以存储任意类型、任意数量的数据集合,按顺序排列起来
表示方式:[value1 , value2 , value3 , value4 , …]
value就叫做列表元素
创建:
[1 , 2 , 3 , ‘hello’ , 5]
list():创建一个空列表
list():括号中不能填整数、小数;填字符串,每个字符占一个添加与删除:
列表.append( 值 ),往列表里添加一个元素,加到末尾加法运算:把两个列表连接起来,形成一个新列表
列表1.extend( 列表2 ):把列表2添加到列表1
列表.insert( 位置 , 数据 ):插入到指定位置
列表.pop( 位置 ):删除指定位置的数据,缺省为最后一个数据
列表.remove(值):删除首次出现的指定
del 列表[位置]
查找:
通过位置查找:
列表[位置]
列表.index(‘值’)
列表.count( ’值‘ ):获取元素出现的次数
len(列表):长度
切片:
从指定位置开始,提取到指定位置结束,提取多少个数据
形式:列表[起始位置 , 结束位置±1 , 步长]
与字符串切片类似
排序:
对列表的数据进行排序:
调用sort()方法,不支持不同数与字符串类型的排序
列表.sort()(升序)
列表.sort( reverse = True )(降序)
列表.sorted()(重新创建一个排序序列)
极值:
max(列表)、min(列表) -
二维列表
列表元素存列表
如二维数组,通过a[n][m]
访问 -
元组:比起列表,它不可变,只能创建、删除、访问
创建:
“( )”:括号中写入元素
t = (1 , 2 , 3 , ‘hello’ , 1.1)
方法:tuple()
访问:
t [ i ],可切片,列表 -
字典
无序、可变
每一个元素由两部分组成:
键key(标识存储的数据)+ 值value(存储的内容)
通过key找到对应的值,key不可重复,key不可变,value可变
字典的数据元素是键值对
形式:key : value
例:字典表示学生信息
d = { “name1” : " 张三 " , “age” : 20 , “id” : ‘123456’ , …}
只能通过dict(zip(l,l))
转换
通过键创建值为空的字典:dict.fromkeys ( [ key1 , key2 , ... ] )
访问:
通过key
获取value
:d [ key ] 、字典 . get( key )
获取所有的:字典 . items():列表套元组显示
获取所有的key:.keys()、获取所有的value:.values()
字典长度:.len()
添加修改和删除- 添加:直接写 字典[ key ] = ‘value’、字典.update(字典1) :本身接字典1
- 修改: 字典[key] = ‘newvalue’
- 删除:del( 字典 [ key ] ) 、字典.pop( key )、字典.popitem()(随机删一个)。连键带值一起删
- 添加:直接写 字典[ key ] = ‘value’、字典.update(字典1) :本身接字典1
-
集合
无序可变,不能重复
语法:{},与字典区别:字典键值对;集合只有值
{ 1 , ‘str’ , 1.1},{}不能表示空集合,a=set()创建空集合
可以将字典转换为集合,只留下键:set(其他)
删除:
集合.clear()、集合.remove(元素)
添加:
集合.add(元素)
求集合运算:交集、并集、差集
交:s1 & s2 、输出集合
并:s1 | s2 、一样
差:s1 - s2 -
系列解包
可以很方便的对多个变量进行赋值,让多个变量赋值为列表、元组、字典。
但在字典中,字典元素由键与值组成。默认用key赋值,需要用value赋值,a,b,c=d.values()
,用键值对:a,b,c=d.items()
作业:
1、通过键盘输⼊学⽣的姓名、年龄、班级,⽤字典表示,共输⼊5个学⽣信息存储到班级信息中, 班级信息⽤列表表示
#print("homework1")
s1name=input('stu1name:')
s1age=input('stu1age:')
s1cls=input('stu1cls:')
s2name=input('stu2name:')
s2age=input('stu2age:')
s2cls=input('stu2cls:')
s3name=input('stu3name:')
s3age=input('stu3age:')
s3cls=input('stu3cls:')
stu1 = {'name':s1name,'age':s1age,'class':s1cls}
stu2 = {'name':s2name,'age':s2age,'class':s2cls}
stu3 = {'name':s3name,'age':s3age,'class':s3cls}
cls = [stu1,stu2,stu3]
print(cls)
2、创建⼀个字典对象,其中包含: ⽀出:20.01,时间:2021.7.20,⽀出对象:yyy
d = {"output":20.02,"date":"2021.7.21","subject":"yyy"}
print(d)
3、列表[1,5,8,2,‘h’],与列表[6,3,2,10]查看是否有交集
a1=input('a1')
a2=input('a2')
a3=input('a3')
a4=input('a4')
a5=input('a5')
b1=input('b1')
b2=input('b2')
b3=input('b3')
b4=input('b4')
s1=[a1,a2,a3,a4,a5]
s2=[b1,b2,b3,b4]
s1=set(s1)
s2=set(s2)
print("outcome:"+str(s1&s2))