日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > python >内容正文

python

Python练习题14

發布時間:2024/4/11 python 22 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Python练习题14 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

1.列舉Python2與Python3之間的區別

  • python2的默認編碼是ASCII,python3的默認編碼是Unicode
  • python2中range返回的是列表,xrange返回的是可迭代對象,而Python3中range返回的是可迭代對象
  • python2中整數分為int 和 lang,python3中統一歸為int
  • python2不等于可以用!= 或者<>表示,在python3中只能用!=
  • python2 使用print語句,python3中使用print()函數
  • python2 輸入用row_input() ,python3用input()

2.有整數3.14 如何去掉小數位? 請用一行代碼實現不能使用切片

print(int(3.14)) print('%.0f' % 3.14)

3.字符串和列表如何互相轉換?

s='123' l = ['a', 'b', 'c'] s1 = ''.join(l) print(s1) # abc #----->列表轉字符串 “ ”.join() print(list(s)) #------>字符串轉列表 list(str)

4… 及 pass在Python中是否是占位 ?
是,為了程序的完成性,而又不能立即實現其功能或者不需要實現其功能,故采用pass或者…語句

5.a=10; b=20 用一行代碼實現a,b數值交換:

a, b = b, a

6.讀代碼寫結論為什么?

result = 1.2-1 #----->0.199999 while True:if round(result,1) == 0.2: #round(0.19999,1) j結果為0.2print( 'hi guys!')else:print( False)

無限循環打印hi guys! round()函數的作用是四舍五入,

7、讀代碼寫結果 如下代碼輸出的結果是?

def Generator():value = yield 1yield value gen = Generator() print(gen.send(1))

答案是報錯,因為當生成器第一次啟動時,無法接收send傳過來的值

8.列舉你了解的5個模塊并簡述其作用

  • time模塊,時間相關的
  • pickle模塊,序列化相關
  • re模塊, 正則相關
  • os模塊,系統相關
  • sys模塊,Python解釋器相關
  • hashlib模塊,加密相關

9.閉包函數有什么特點,應用場景?

10.解釋一下什么是迭代器,你在代碼中如何獲得一個迭代器?

Python為了給類似集合這種不支持索引的數據類型,卻能夠像有索引一樣方便取值,
就為一些對象內置__iter__方法來擺脫對對象對索引的依賴。即如果這個對象具有__iter__方法, 則成為可迭代對象。 可迭代對象執行__iter__方法返回的結果稱為迭代器

from collections import Iterable, Iterator s = 'abc' s1 = s.__iter__() print(s1) print(isinstance(s1, Iterable)) print(isinstance(s1, Iterator))

11.迭代器如何取值?迭代器的好處?
迭代器的特點:
重復。 下一次的重復是基于上一次結果。
使用迭代器的優點:
1.提供一種不依賴于索引的取值方式。迭代器通過__next__方法取值
2.惰性計算,節省內存空間。迭代器每執行__next__方法一次,則“動作”一次,返回一個元素。就像懶驢似的,我們踹一腳,這懶驢(迭代器)才走一步,不踹不動彈。
那么迭代器的缺點也很明顯:
1.取值不如索引方便。要每次執行__next__方法取值。
2.迭代過程不可逆。也就是說這個懶驢(迭代器的迭代過程)走的是一條通往懸崖的路,每次執行__next__方法返回結果的同時都會向懸崖靠近一步。直到跳下懸崖(迭代完畢,拋出StopIteration異常)。所以說,迭代過程是無法回頭的,只能一條路走到黑。
3.無法獲取迭代器的長度。因為可迭代對象通過__iter__方法返回的是迭代器(內存地址)。所以,我們無法獲取這個迭代器內的元素有多少

12.寫?個?成器,??的元素是20以內所有奇數的平?減?

a=(i**2-1 for i in range(21) if i%2==1 ) print(list(a))

13.請構建?個?成器,??的元素是1,4,9,16,25,36,49。

a=(i**2 for i in range(1,8)) print(list(a))

14.寫函數(lambda)實現字符串翻轉,如:V = ‘oldboy’ (請?最簡的?式)

V ='oldboy' print(set(map(lambda x:V[::-1],V)))

15.現有列表alist = [3,1,-4,-2],按照元素的絕對值??進?排序并將得到列表的每個元素求平?形成?個新的列表

alist = [3,1,-4,-2] print(list(map(lambda x:x**2,sorted(alist,key= lambda x:abs(x)))))

16.alist = [{“a”:5,”b”:2},{“a”:2,”b”:8},{“a”:8,”b”:2}]請寫出以鍵a的值對alist進?排序的表達式

alist = [{'a': 5, 'b': 2}, {'a': 2, 'b': 8}, {'a': 8, 'b': 2}] print(sorted(alist,key=lambda x:int(x['a'])))

17.有?個列表l1 = [‘alex’, ‘WuSir’, ‘?男孩’, ‘太?’]?列表推導式將其構造成這種列表

['alex0', 'WuSir1', '?男孩2', '太?3'] l1 = ['alex', 'WuSir', '老男孩', '太白'] print(list(map(lambda x:x+str(l1.index(x)),l1)))

18.現在有兩元祖((‘a’),(‘b’)),((‘c’),(‘d’)),請使?python中的匿名函數和內置函數?成列表

t1=(('a'),('b')) t2=(('c'),('d')) print(list({k:v} for k,v in zip(t1,t2)))

該習題轉載自: https://www.cnblogs.com/pythonz/p/9985546.html

總結

以上是生活随笔為你收集整理的Python练习题14的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。