Unicode编码:chr(u)转换成字符
ord(u)转换成Unicode编码
assert断言
list切片:
1.list[头:尾:步长] 实例:a=[1,2,3,4] a[1:3:2] 打印: 2 4
2.str切片类比list
字符串常用功能:
1.计数:str.count(char/str子串) 返回str中char/str子串的个数
2.查找:str.find(char/str子串)返回str中作数第一个char或者子串的索引,找不到返回-1
str.index(char/str子串)返回str中作数第一个char或者子串的索引,找不到报错
3.拆分:str.split(char)按照指定的内容进行分割为元素,并且返回列表。
4.替换:str.replace(str a,str b,num)从左到右替换指定的元素,可以指定替换的个数,默认全部替换
5.标准化:str.strip()默认去除两边的空格、换行符之类的,去除内容可以指定,返回标准化后的字符串
6.变成小写:str.lower()
7.大写:str.upper()
8.居中:str.center(width[,fill])
9.删除字符串中字符:str.strip(chars)
10.加入字符:str.join(iter)再iter中每一个元素后增加一个str
二分支结构:
表达式1 if 条件 else 表达式2
例子:
guess=eval(input))
print("{ }".format("对" if guess==99 else 错))
格式化输出:
1.直接上实例:accuracy = 80/123 print('老板!我的模型正确率是%.2f!' % accuracy)
变量已经定义 print('大家好!我叫%s,我的身高是%d cm, 数学成绩%.2f分,英语成绩%d分' % (name, hight, score_math, score_english))
2.format:print('大家好!我叫{},我的身高是{:d} cm, 数学成绩{:.2f}分,英语成绩{}分'.format(name, int(hight), score_math, score_english))
指定了 :s ,则只能传字符串值,如果传其他类型值不会自动转换,当你不指定类型时,你传任何类型都能成功,如无特殊必要,可以不用指定类型
3.f-string:print(f"大家好!我叫{name},我的身高是{hight:.3f} cm, 数学成绩{score_math}分,英语成绩{score_english}分")
list进阶:
1.添加元素:list1.append('g') # 在末尾添加元素
list1.insert(2, 'ooo') # 在指定位置添加元素,如果指定的下标不存在,那么就是在末尾添加
2.合并列表:list1.extend(list2) list1+list2
3.计数:list1.count('a') 返回元素为a的个数
4.查找:list1.index('a') 返回元素为a的第一个索引
5.删除元素:list1.pop(3)删除list1中索引为3的元素
list1.remove('a')删除list1中第一个a(只删除一个)
6.列表生成式:
问题:列表每一项+1
1.list_1 = [1,2,3,4,5]
for i in range(len(list_1)):
list_1[i] += 1
2.[n+1 for n in list_1]返回一个新列表(真~列表生成式)
练习:
# 1-10之间所有数的平方
[(n+1)**2 for n in range(10)]
list1 = ['a','b','a','d','a','f']
['app_%s'%n for n in range(10)] #格式化方法
list1 = ['a','b','a','d','a','f']
[f'app_{n}' for n in range(10)] #f-string
问题:列表中的每一个偶数项[过滤]
list_1 = [1,2,3,4,5]
[n for n in list_1 if n%2==0]#先判断最后的条件,如果n满足条件,则取出n
# 小练习:0-29之间的奇数
list_1=range(30)
[n for n in list_1 if n%2]
# 字符串中所有以'sv'结尾的
list_2 =