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)
L.reverse()
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、斐波那契数列

#递归
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

常见的python练习题的更多相关文章

  1. 【转】常见的python机器学习工具包比较

    http://algosolo.com/ 分析对比了常见的python机器学习工具包,包括: scikit-learn mlpy Modular toolkit for Data Processing ...

  2. Python练习题 028:求3*3矩阵对角线数字之和

    [Python练习题 028] 求一个3*3矩阵对角线元素之和 ----------------------------------------------------- 这题解倒是解出来了,但总觉得 ...

  3. Python练习题 027:对10个数字进行排序

    [Python练习题 027] 对10个数字进行排序 --------------------------------------------- 这题没什么好说的,用 str.split(' ') 获 ...

  4. Python练习题 026:求100以内的素数

    [Python练习题 026] 求100以内的素数. ------------------------------------------------- 奇怪,求解素数的题,之前不是做过了吗?难道是想 ...

  5. Python练习题 025:判断回文数

    [Python练习题 025] 一个5位数,判断它是不是回文数.即12321是回文数,个位与万位相同,十位与千位相同. ---------------------------------------- ...

  6. Python练习题 024:求位数及逆序打印

    [Python练习题 024] 给一个不多于5位的正整数,要求:一.求它是几位数,二.逆序打印出各位数字. ---------------------------------------------- ...

  7. Python练习题 004:判断某日期是该年的第几天

    [Python练习题 004]输入某年某月某日,判断这一天是这一年的第几天? ---------------------------------------------- 这题竟然写了 28 行代码! ...

  8. 列举一些常见的Python HTTP服务器

    要使 Python 写的程序能在 Web 上被访问,还需要搭建一个支持 Python 的 HTTP 服务器.下面列举一些常见的 Python HTTP 服务器,以及它们目前的大致发展情况,以便用户的对 ...

  9. Python练习题-1.使用匿名函数对1~1000求和,代码力求简洁。

    Python 练习 标签(空格分隔): Python Python练习题 Python知识点 一.使用匿名函数对1~1000求和,代码力求简洁. 答案: In [1]: from functools ...

随机推荐

  1. [web] react一些些

    作者:水落斜阳链接:https://www.jianshu.com/p/4fb47009c330来源:简书著作权归作者所有.商业转载请联系作者获得授权,非商业转载请注明出处. 1.react comp ...

  2. Matlab Script to pre-process UAV123 tracking dataset

    Matlab Script to pre-process UAV123 tracking dataset 2019-11-08 09:43:11 Official project page: http ...

  3. Centos7下把python 2.7升级到python 3.6(升级过程遇到的一些相关问题)

    Centos 7 默认安装的Python 的版本是2.7的,现在不少人用的是3.x上的版本,故而需要了解下如何从Python2.7升级到Python 3.6. 在虚拟机安装时,网络不通会先遇到一个错误 ...

  4. 在线visio软件,在线流程图软件,在线绘图、在线画图

    1. https://www.bullmind.com/ 推荐bullmind的在线visio软件,一种低成本的Visio替代品.bullmind是基于 网络的绘图工具,具有出色图表功能.您可以使用b ...

  5. scrapy中的middleware

    反反爬虫相关机制 Some websites implement certain measures to prevent bots from crawling them, with varying d ...

  6. Centos新服务器需要安装的必备软件包

    yum install -y gcc gcc-c++ kernel-devel yum install -y pcre pcre-devel yum install -y zlib zlib-deve ...

  7. Java学习-055-Jsoup爬虫通过设置获取响应数据大小的最大值,解决因默认获取 1MB 响应数据导致的无法获取全部的响应数据内容问题

    在日常工作中,通常会遇到获取各种网络数据使用的情况,Java中可使用Jsoup(Python中可使用 BeatifulSoup)进行数据的获取及处理. 今天有朋友问,在使用 Jsoup 进行请求数据时 ...

  8. Windows 10提示你不能访问此共享文件夹,因为你组织的安全策略阻止未经身份验证的来宾访问

    Windows 10提示你不能访问此共享文件夹,因为你组织的安全策略阻止未经身份验证的来宾访问 1.首先按window+R键打开运行.如下图 2.在运行中输入“gpedit.msc”来启动本地组策略编 ...

  9. 《Effective Java》第1章 创建和销毁对象

    第1条 用静态工厂方法代替构造器 这个静态工厂,与设计模式中的静态工厂不同,这里的静态工厂方法,替换为“静态方法”比较好理解,主要就是建议编写静态方法来创建对象. 使用静态方法的好处: 1.静态方法有 ...

  10. powershell 开windows 端口

    @echo off @echo 请以管理员身份运行 set /p portRemark=请输入端口备注: set /p port=请输入端口号: powershell -command "N ...