zoukankan      html  css  js  c++  java
  • 常见的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)
        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
    
    
  • 相关阅读:
    HDU 5360 Hiking(优先队列)2015 Multi-University Training Contest 6
    多区域显示(6)-版面布局
    静态变量和成员变量的区别 && 成员变量和局部变量的区别
    java基础学习_面向对象(上)02_day07总结
    java基础学习_面向对象(上)01_day07总结
    面向对象的概述
    面向对象思想的引入
    Failed to create the Java Virtual Machine(zt)
    eclipse web开发Server配置
    javamail接收邮件(zt)
  • 原文地址:https://www.cnblogs.com/tangqiu/p/7687055.html
Copyright © 2011-2022 走看看