常见的python练习题1、冒泡排序
def bubble_sort(lists):
len_list=len(lists)
for i in range(len_list):
for j in range(len_list-i-1):
if lists[j]>lists[j+1]:
lists[j],lists[j+1]=lists[j+1],lists[j]
print(lists)
return lists
2、插⼊排序
def insert_sort(lists):
for i in range(len(lists)):
position=i
while position>0:
if lists[position]<lists[position-1]:
lists[position],lists[position-1]=lists[position-1],lists[position]
position-=1
print(lists)
return lists
3、删除列表中的重复元素
#第⼀种⽅式
l=[1,1,6,3,1,5,2]
list(set(l))
#第⼆种⽅式
l=[1,1,6,3,1,5,2]
def duplictae(lists):
L=[]
for i in lists:
if i not in L:
L.append(i)
return L
print(duplictae(l))
4、下⾯代码输出结果
def f(x,l=[]):
for i in range(x):
l.append(i*i)
print(l)
f(2)
f(3,[3,2,1])
f(3)
结果:[0, 1]
[3, 2, 1, 0, 1, 4]
[0, 1, 0, 1, 4]
5、实现字符串反转输⼊str="string"输出'gnirts'
#第⼀种⽅式:
def str_reverse(str):
return str[::-1]
#第⼆种⽅式:
def str_reverse(str):
L=list(str)
new_str=''.join(L)
return new_str
6、⼀⾏代码实现对列表a中的偶数位置的元素进⾏加3后求和
sums=sum(map(lambda x:x+3,list[1::2]))
7、List = [-2, 1, 3, -6],如何实现以绝对值⼤⼩从⼩到⼤将 List 中内容排序
List.sort(key=abs)
8、合并两个list:
#第⼀种⽅式
list1 = [2,3,8]
list2 = [5,6,10]
def list_union(list1,list2):
for i in list2:
list1.append(i)
return(list1)
list_union(list1,list2)
#第⼆种⽅式
list1+list2
9、什么是lambda函数?它有什么好处?另外python在函数编程⽅⾯提供了些什么函数和语法?
lambda是Python中的匿名函数。它语法简单,简化代码,不会产⽣命名冲突,污染命名空间。Python提供了map,reduce,filter等函数⽅法,提供了装饰器,闭包等语法10、详细说说tuple、list、dict的⽤法,它们的特点
tuple 元祖,固定长度不可变的顺序容器,访问效率⾼,是和存储⼀些常量数据,可以作为字典的键使⽤
list 列表,是长度可变有序的数据存储容器,。可以通过下标索引取到相应的数据
dict 字典,长度可变的hash字典容器。存储的⽅式为键值对,可以通过相应的键获取相应的值,key⽀持多种类型
11、list 对象 alist [{'name':'a','age':20},{'name':'b','age':30},{'name':'c','age':25}],请按 alist 中元素的age 由⼤到⼩排序;
alist.sort(key=lambda x:x['age'], reverse=True)
12、将字符串:"k:1|k1:2|k2:3|k3:4",处理成 python 字典:{'k':'1', 'k1':'2', 'k2':'3','k3':'4' }
str1="k:1|k1:2|k2:3|k3:4"
str_list=str1.split('|')
d={}
for l in str_list:
key,value=l.split(':')
d[key]=value
print(d)
13、斐波那契数列
#递归
python新手代码练习def fib(n):
if n<=2:
return 1
else:
return fib(n-1)+fib(n-2)
#⾮递归
def fib_circle(n):
a=1
b=1
if n<=2:
return 1
else:
for i in range(2,n):
c=a+b
a=b
b=c
return c
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论