python基础练习题集锦

#1、一行代码实现1--100之和
SumNum1=sum(range(1,101))
print(SumNum1)

SumNum=0
for i in range(1,101):
    SumNum=SumNum+i
    i=i+1
print(SumNum)
#2.如何在一个函数内部修改全局变量
a=5
print(a)
def fn():
    global a
    a=1
fn()
print(a)
#3、字典如何删除键和合并两个字典
dict1={
    
    "a":1,"b":2}
print(dict1)
del dict1["a"]
print(dict1)

dict2={
    
    "c":3}
dict1.update(dict2)
print(dict1)
#4.python实现列表去重的方法 先通过集合去重,在转列表
list=[1,2,3,1,2,5]
a=set(list)
print(a)
print([x for x in a])
#5.列表[1,2,3,4,5],请使用map()函数输出[1,4,9,16,25],
# 并使用列表推导式提取出大于10的数,最终输出[16,25]
#map() 会根据提供的函数对指定序列做映射。
#第一个参数 function 以参数序列中的每一个元素调用 function 函数,
# 返回包含每次 function 函数返回值的新列表。
#
list=[1,2,3,4,5]
def fn(x):
    return x**2
res=map(fn,list)
res=[i for i in res if i>10]
print(res)
#6.python中生成随机整数、随机小数、0--1之间小数方法
import random
a=random.randint(1,10)
print(a)
b=random.random()#0--1之间小数方法
print(b)
str=random.sample('abcd',4)
print(str)
#7.用正则匹配出标签里面的内容(“中国”),其中class的类名是不确定的
import re
str='<div class="name">中国</div>'
res=re.findall(r'<div class=".*">(.*?)</div>',str)
print(res)
#8.s = "ajldjlajfdljfddd",去重并从小到大排序输出"adfjl"
str="ajldjlajfdljfddd"
strnew=set(str)
print(strnew)
strnew1=[i for i in strnew]
print(strnew1)
strnew1.sort(reverse=False)
strnew2="".join(strnew1)
print(strnew2)
#9.用lambda函数实现两个数相乘
sum=lambda a,b:a*b
print(sum(4,6))
#10.字典根据键从小到大排序
dict={
    
    'b':'Tom','a':'Mary','d':'Vivian','c':'Mark'}
print(dict)
list=sorted(dict.items(),key=lambda i:i[0],reverse=False)
print(list)
new_dict={
    
    }
for i in list:
    new_dict[i[0]]=i[1]
print(new_dict)
#11.利用collections库的Counter方法统计字符串每个单词出现的次
from collections import Counter
str="aaab;bb;c'c'cddddeddedff"
res=Counter(str)
print(res)
#12.用正则过滤掉英文和数字,最终输出中文
import re
str= "not 404 found 张三 99 深圳"
print(str)
list=str.split(" ")
print(list)
res=re.findall('\d+|[a-zA-Z]+',str)
print(res)
for i in res:
    if i in list:
        list.remove(i)
new_str=" ".join(list)
print(new_str)
#13.filter方法求出列表所有奇数并构造新列表,
# a =  [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
a =  [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
def fn(x):
    return x%2==1
newa=filter(fn,a)
newa=[i for i in newa]
print(newa)
print(fn(5))
#14.两个列表[1,5,7,9]和[2,2,3,6,8]合并为[1,2,2,3,5,6,7,8,9]
list1=[1,5,7,9]
list2=[2,2,3,6,8]
list1.extend(list2)
print(list1)
list1=set(list1)#去重
print(list1)
list1=list(list1)
list1.sort(reverse=False)
print(list1)
#15.[[1,2],[3,4],[5,6]]一行代码展开该列表,得出[1,2,3,4,5,6]
lista=[[1,2],[3,4],[5,6]]
listb= [j for i in lista for j in i]
print(listb)
#16.python中交换两个数值
a,b=3,5
print(a,b)
a,b=b,a
print(a,b)
#17.list=[2,3,5,4,9,6],从小到大排序,不许用sort,
# 输出[2,3,4,5,6,9]
list=[2,3,5,4,9,6]
new_list=[]#定义一个空列表用来存储取出的值

def get_min(list):
    a=min(list)#取出最小值
    list.remove(a)#移除最小值
    new_list.append(a)#添加到新列表里
    if len(list)>0:
        get_min(list)#递归调用 直到列表里没有值
    return new_list
new_list=get_min(list)
print(new_list)

猜你喜欢

转载自blog.csdn.net/weixin_42166361/article/details/104751461