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