NO.47xml or html的解析
?懒惰匹配+(*相当于+,但在匹配字符时比+更好)+()
import re
regex=re.compile(r'<(.*?)>(.*?)</.*?>')
t=regex.findall('<哈哈>who are you</>\n<嘿嘿>you are lost</>')
def my_print(t):
for i in t:
#attention i是元组
print("{}:{}".format(i[0],i[1]))
my_print(t)
NO.48 方差计算公式
def caculate_variance(tu):
sum_=sum(tu)
ave_=round(sum_/len(tu),2)
variance=0
for i in tu:
variance+=(i-ave_)**2
return variance/len(tu)
tu=(1,2,0,0)
caculate_variance(tu)
NO.49两个字典中相同的键
dict_1={1:'2',2:'3'}
dict_2={'A':"d",'C':"2",2:'1'}
def same_key(dict1,dict2):
dict_list=[]
for i in dict1:
if i in dict2:
dict_list.append(i)
return dict_list
NO.50 字典的item操作,可以使用item in dict.items()中的item[1]和item[0]表示值和键,同时isinstance(object,type)
例如
isinstance(item_[0],type(item[0]))的效果
与type(item_[0])==type(item[0])类似,但isinstance具有继承的意思,type 加“==”的判断更加严谨
dict_1={1:'2',2:'3',3:"2",'T':"2"}
dict_2={'A':"d",'C':"2",2:'1'}
def same_key(dict1,dict2):
dict_list=[]
for item in dict1.items():
for item_ in dict2.items():
print(item[0],item_[0])
if item[1]==item_[1] and isinstance(item_[0],type(item[0])) :
print("run here")
i=[]
i.append(item[0])
i.append(item_[0])
dict_list.append(i)
return dict_list
same_key(dict_1,dict_2)
NO.51 sorted是可以对字符串列表进行排序的
字典排序的两种方式
dict1={}
dict2={}
def input_(dict1,dict2):
n=int(input("请输入员工个数"))
for i in range(n):
name=input("请输入该员工名字")
num=input("请输入该员工编号")
dict1[name]=num
dict2[num]=name
def response():
input_(dict1,dict2)
i=int(input(r'''请输入相关信号
1:表示按照姓名排序,2:表示按照编号排序,3:表示退出'''))
if i==1:
#list_dict=zip(dict1.keys(),dict1.values())
#list_dict=[k for k in list_dict]
for j in sorted(dict1):
print(j," ",dict1[j])
elif i==2:
list_dict=zip(dict2.keys(),dict2.values())
list_dict=[k for k in list_dict]
print(type(list_dict))
print(list_dict)
t=sorted(list_dict,key=lambda x:x[0])
print(t)
for j in t:
print(j[0],' ',j[1])
else:
pass
response()
字符串比大小的原理是看第一个谁大,与数字比较的原理不同
dict_test={1:'b',9:'c',8:'a'},sorted(dict_test)
[1, 8, 9]
字典是可以进行排序的,设置两个字典,可以实现根据键排序,输出整个item,或者根据值排序,输出整个item
NO.52 用整数的随机数比小数的要好
format遇见的问题是当长度大于宽度时,将会按原来的长度输出
import random
def my_print(ans):
i=0
while(i+10<len(ans)):
for j in range(10):
print("{:>5}".format(ans[i+j]),end='')
print()
i+=10
while i<len(ans):
print("{:>5}".format(ans[i]),end='')
i+=1
def random_list(list1,list2):
for i in range(205):
#list1.append(random.random()*500)
#list2.append(random.random()*500)
list1.append(random.randint(0,501))
list2.append(random.randint(0,501))
def seek_same(list1,list2):
ans=[]
for i in list1:
if i in list2:
ans.append(i)
my_print(ans)
def seek_deference(list1,list2):
ans=[]
for i in list1:
if i not in list2:
ans.append(i)
my_print(ans)
l1,l2=[],[]
random_list(l1,l2)
seek_same(l1,l2)
print("********element*******")
seek_deference(l1,l2)
网友评论