1format方法
format中 数字表示所占宽度 符号^表示居中显示 \t表示添加制表符
format_title="{:^4}{:^12}\t{:^8}\t{:^10}\t{:^10}"
print(format_title.format("ID","名字","英语成绩","Python成绩","C语言成绩","总成绩"))
运行结果:
ID 名字 英语成绩 Python成绩 C语言成绩
2判断字符串是否为纯字母串或者数字串
instr=input()
if str.isdigit(instr):print('is digit')
elif str.isalpha(instr):print('is alpha')
else:print('i dont know')
3去掉字符串中[]
strr='[1234556ssdd]'
s_strr=strr.replace('[','').replace(']','')
print(s_strr) #1234556ssdd
4随机产生数字 random.sample()产生的随机数不重复 random.choice()产生的随机数可以重复
rand_choice=''
rand_choice_list=[]
rand_sample=''
rand_sample_list=[]
import random
a=[1,2,3,4,5,6,7,8,9]
for j in range(10):for i in range(6):rand_choice=random.choice(a)rand_sample=random.sample(a,1)rand_choice_list.append(rand_choice)rand_sample_list.append(rand_sample)
print(rand_sample_list)
print(rand_choice_list)
运行结果:
[[2], [9], [3], [6], [6], [7], [7], [3], [1], [8]]
[4, 6, 8, 8, 6, 3, 8, 4, 4, 6]
5字符映射 str.maketrans(intab, outtab) intab – 字符串中要替代的字符组成的字符串。outtab – 相应的映射字符的字符串。
将字符映射为数字
instr="0123456789"
outstr="abcdefghij"
transtab=str.maketrans(instr," ")
transtab1=str.maketrans(instr,outstr)
print(transtab) #{48: 97, 49: 98, 50: 99, 51: 100, 52: 101, 53: 102, 54: 103, 55: 104, 56: 105, 57: 106}
str1="0123456789yy"
print(str1.translate(transtab)) #abcdefghijyy
6input默认输入为字符串类型
7三重引号可以注释 也可以定义多行字符串
8#利用try except语句捕获打开文件异常
try:student_txt=open(filename,'a') #以追加模式打开文件
except Exception as e:student_txt=open(filename,'w') #文件不存在,创建文件并打开
9列表排序 lamada
#1列表排序:使用lamada表达式进行排序
student_new=[{'id':1,'name':'无语1','english':100,'python':98},{'id':3,'name':'无语2','english':87,'python':96},{'id': 2, 'name': '无语3', 'english': 95, 'python': 100}]student_new.sort(key=lambda x:x['english'],reverse=True)
print(student_new)
# 输出结果
# [{'id': 1, 'name': '无语1', 'english': 100, 'python': 98}, {'id': 2, 'name': '无语3', 'english': 95, 'python': 100}, {'id': 3, 'name': '无语2', 'english': 87, 'python': 96}]
10零碎知识点
#1 判断字符串是否为字母或者数字串
#2020-05-10instr=input()
if str.isdigit(instr):print('is digit')
elif str.isalpha(instr):print('is alpha')
else:print('i dont know')#2 替换[]
# 2020-05-10strr='[1234556ssdd]'
s_strr=strr.replace('[','').replace(']','')
print(s_strr) # 1234556ssdd
#
#
# #3 随机产生数字 random.sample()产生的随机数不重复 random.choice()产生的随机数可以重复
#
rand_choice=''
rand_choice_list=[]
rand_sample=''
rand_sample_list=[]
import random
a=[1,2,3,4,5,6,7,8,9]
for j in range(10):for i in range(6):rand_choice=random.choice(a)rand_sample=random.sample(a,1)rand_choice_list.append(rand_choice)rand_sample_list.append(rand_sample)
print(rand_sample_list)
print(rand_choice_list)
# [[3], [6], [4], [5], [4], [9], [4], [4], [9], [2]]
# [8, 7, 2, 4, 3, 2, 2, 5, 9, 3]
#
#
# #4 字符映射 str.maketrans(intab, outtab) intab -- 字符串中要替代的字符组成的字符串。outtab -- 相应的映射字符的字符串。
# # 将字符映射为数字
#
instr="0123456789"
outstr="abcdefghij"
transtab=str.maketrans(instr," ")
transtab1=str.maketrans(instr,outstr)
print(transtab) # {48: 97, 49: 98, 50: 99, 51: 100, 52: 101, 53: 102, 54: 103, 55: 104, 56: 105, 57: 106}
str1="0123456789yy"
print(str1.translate(transtab)) # abcdefghijyy
11可不列表和不可变列表
list=['12',3,4,5]
print(id(list)) #id() 函数用于获取对象的内存地址。
list[3]='review'
print(id(list))
s_string='hello'
print(id(s_string))
# s_string[0]='o'
print(id(s_string))
tuple_test=(1,2,"sdsd",[3,4])
print(id(tuple_test))
tuple_test[3][1]=100
# tuple_test[2]='ssss' 不可修改 发生错误
# tuple_test[0]=2 不可修改 发生错误
print(tuple_test)
print(id(tuple_test))
# 输出结果
# 43120456
# 43120456
# 35615272
# 35615272
# 43095208
# (1, 2, 'sdsd', [3, 100])
# 43095208