功夫码

Python的常用的基础方法

晓峰 时间:2019-09-28 08:12:30 阅读:10
--------------------------------------------------------- Ta 只分享的内容开始 ---------------------------------------------------------------------

Python的冒泡排序代码

def mao_pao(li):
    for i in range(len(li)):
        for j in range(len(li)):
            if li[i] < li[j]:
                li[i],li[j] = li[j] ,li[i]
import random
li = list(range(10))
random.shuffle(li)
print(li)
mao_pao(li)
print(li)
Python的删除列表中的重复元素实例
方式一
li = [1,5,5,4,12,3,1,5]
print(list(set(l)))

方式二
li = [1,5,5,4,12,3,1,5]
def func(li):
    l = []
    for i in li:
        if i not in l:
            l.append(i)
    return l
print(func(li))
Python的二分查找实例
方式一:递归版
li = [1,2,3,4,5,6,7,8,9,10]
def erfen(li,aim ,start=0 ,end=len(li)-1):
    if start <= end:
        mid = (start+end)//2
        if li[mid] >aim :  #如果中间的值比目标值大,就从左边找
            return erfen(li,aim,start,mid-1)
        elif li[mid]<aim : #从右边找
            return erfen(li,aim,mid+1,end)
        else:
            return mid
ret = erfen(li,10)
print(ret)

方式二:循环版
li = [1,2,3,4,5,6,7,8,9,10]
def erfen(li,aim,start=0,end=len(li)-1):
    while start <= end:
        mid = (start+end) //2
        if li[mid] < aim:
            start = li[mid] +1
        elif li[mid] >aim:
            end = li[mid] -1
        else:
            return mid

print(erfen(li,10))
写出下面代码的输出结果
def f(x,l=[]):
    for i in range(x):
        l.append(i*i)
    print(l)
f(2)  #[0,1]
f(3,[3,2,1]) #[3,2,1,0 1 4]
f(3) #[0,1,0,1,4]
python里实现字符串反转 输入str="string"输出'gnirts'

# 方式一
def str_reverse(str):
   return str[::-1]  #从前到后步长为-1
print(str_reverse('string'))

# 方式二
def str_reverse2(str):
   l = list(str)
   l.reverse()
   new_str = ''.join(l)
   return new_str
print(str_reverse2('string'))
--------------------------------------------------------- Ta 只分享了这些内容 ---------------------------------------------------------------------

本文来源:功夫码(gongfuma.com)
声明:本文系功夫码原创稿件,版权属[功夫码 gongfuma.com]所有。
未经授权不得转载,已经协议授权的媒体下载使用时须注明"稿件来源:功夫码",违者将依法追究责任。

相关文章

回到顶部