1. 程式人生 > >[Python習題] 常見題系列三

[Python習題] 常見題系列三

1. 字典d={“k”:1,”v”:2},請寫出d.items()的結果。

>>> d={"k":1,"v":2}
>>> print(d.items())
dict_items([('k', 1), ('v', 2)])

2. 倒序排列複雜列表

複雜列表[{“k”:1,”v”:2},{“k”:12,”v”:22},{“k”:13,”v”:32}],請用內建方法寫出k的倒序排列的程式碼。

>>> li = [{"k":1,"v":2},{"k":12,"v":22},{"k":13,"v":32}]
>>> 
li.sort(key = lambda x:x["k"], reverse = True) >>> print(li) [{'k': 13, 'v': 32}, {'k': 12, 'v': 22}, {'k': 1, 'v': 2}]

List sort()方法
sort() 函式用於對原列表進行排序,如果指定引數,則使用比較函式指定的比較函式。
語法
sort()方法語法:
list.sort(cmp=None, key=None, reverse=False)

3. set函式使用方法

集合s = set([1,2,3,4]),d = set([2,4,9,0,3]),請用內建方法寫出它們的並集,交集,對稱公差。

>>> s = set([1,2,3,4])   #set( ) 小括號裡面是list
>>> d = set([2,4,9,0,3])
>>> s|d   #並集
set([0, 1, 2, 3, 4, 9])

>>> s&d   #交集
set([2, 3, 4])

>>> s^d  #對稱公差
set([0, 1, 9])

>>> s-d  #差集
set([1])

set() 函式建立一個無序不重複元素集,可進行關係測試,刪除重複資料,還可以計算交集、差集、並集等。

4. 隨機數

請輸出一個大於0小於1的隨機數;
請輸出一個100以內的整數隨機。

>>> import random
>>> random.random()  #(0,1)
0.585140678139696

>>> random.randint(1,100) #1到100以內整數
22

5. 長度未知的元組a=(1,3,4,5,6,…),請隨機輸出n項。

>>> import random
>>> a = (1,3,4,5)
>>> a = list(a)         #轉化為list,可以使用下標
>>> for i in range(len(a)):
>>>     b = a[random.randint(0,len(a)-1)]
>>>     print(b)
>>>     a.remove(b)

3
4
5
1

a
[]

6. enumerate函式使用方法

程式碼a=[{i:j} for i,j in enumerate(range(5))],請寫出a的最終結果。

>>> a=[{i:j} for i,j in enumerate(range(5))]  #i,j 中間為冒號
>>> a
[{0: 0}, {1: 1}, {2: 2}, {3: 3}, {4: 4}]

enumerate() 函式用於將一個可遍歷的資料物件(如列表、元組或字串)組合為一個索引序列,返回可迭代物件的索引和索引對應的值。

>>> a=[{i:j} for i,j in enumerate(range(5),start=1)]   #下標從1開始
>>> a
[{1: 0}, {2: 1}, {3: 2}, {4: 3}, {5: 4}] 

>>> a = [3,4,5]
>>> b = [{i,j} for i,j in enumerate(a)]
>>> b
[{0, 3}, {1, 4}, {2, 5}]

7. cmp,map,filter的作用

cmp:compare比較

#python 2, python 3沒有該函式
>>> a=3
>>> b=5
>>>cmp(a,b)
-1
>>> cmp(b,a)
1

map:對映

map(function, iterable) # 將function作用於iterable,每個元素,將對應輸出結果儲存為一個list

>>> def plus_one(x):
>>>     return x+1
>>> map(plus_one,[2,3,4,5]) #python 2
[3, 4, 5, 6]

>>> list(map(plus_one,[2,3,4,5])) #python 3,加上list
[3, 4, 5, 6]

filter:過濾器

filter(function, iterable) 函式用於過濾序列,過濾掉不符合條件的元素,返回由符合條件元素組成的新列表。

>>> def bigger_than_three(x):
>>>     return (x>3)
>>> filter(bigger_than_three,[2,3,5,7,1]) #python 2
[5, 7]

>>> list(filter(bigger_than_three,[2,3,5,7,1])) #python 3,加上list
[5, 7]

相關推薦

[Python習題] 常見系列

1. 字典d={“k”:1,”v”:2},請寫出d.items()的結果。 >>> d={"k":1,"v":2} >>> print(d.items()) dict_items([('k', 1), ('v', 2)]

Python 入門程式設計)答案

Python 入門程式設計題:21~30(答案) 提示:最好還是先思考,先編寫,再看答案哦 ^_^ 21. import os.path import shutil def create_filefolder(folder_name): if not os.path.exi

Python 入門程式設計

Python 入門程式設計題:21~30 本系列部落格都是一些比較簡單的題目,適合新手,因為我就是新手~非常歡迎大家一起討論,讓我們一起進步! 21、現在有一個資料夾Filetest,資料夾中有大量的圖片 圖片的名稱是這樣的12345-1.jpg、23456-1.jpg、1234

2018最常見Python面試題(技術)---------------------第波福利

1.請說一下你對迭代器和生成器的區別? (1)迭代器是一個更抽象的概念,任何物件,如果它的類有 next 方法和 iter 方法返回自己本身。對於 string、list、dict、tuple 等這類容器物件,使用 for 迴圈遍歷 是很方便的。在後臺 for 語句對容器物件呼叫 i

python學習之路——第彈 (作業篇第一

image 操作 啟動程序 代碼 color 鎖定文件 文件 文件內容 數據 作業一:編寫登錄接口1.輸入用戶名密碼2.認證成功後顯示歡迎信息3.輸錯三次後鎖定。 所需知識點 文件基本讀寫操作,循環,列表,字典 上面的作業題是在學習完數據類型和簡單的文件操作之後布置的,

重新學習python系列()? WTF?

nal open python 所有 errors 測試 brush 文件 user 讀取文件: try: f = open(‘/path/to/file‘, ‘r‘) print(f.read()) finally: if f:

軟考上午難點5分鐘攻克系列()

軟考 上午 真題 解析 答案軟考上午題難點5分鐘攻克系列(三)由於微博暫時不支持直播視頻,可以單擊下面鏈接學習http://edu.51cto.com/center/course/lesson/index?id=184294==========================================

Python培訓知識總結系列- 第二章Python數據結構第部分-字典,集合

而是 結構 move 原子 返回 總結 刪除 添加元素 pen 編寫一個函數 remove_duplicates,該函數將列表作為參數,並返回一個包含源列表中唯一元素的新列表。新列表中未重復出現的元素可采用任何順序。target=[]def remove_duplicate

Python培訓知識總結系列- 第章 Python3文件操作(一)

readline new socket 總結 排序 tin strip() list 是否 open 123456789f = open(‘filename‘,‘r‘) # 讀模式f = open(‘filename‘,‘w‘) # 寫模式f = open(‘filenam

python基礎面試常見

字節碼 分享 而不是 中文編碼 is和== n) coder 序列 符號 1、為什麽學習Python?  Python是目前市面上,我個人認為是最簡潔、最優雅、最有前途、最全能的編程語言,沒有之一。 2、通過什麽途徑學習的Python? 通過自學,包括

python習題

過期 編碼 存滿 sig ems rgs 不包含 解構 pop 字典扁平化 目標 {‘a‘:{‘b‘;1,‘c‘:2},d:{‘e‘:3,f:{g:4} 期望 {‘a.b‘:1,‘a.c‘:2,‘d.e‘:4,‘d.f.g‘:4} dic = {‘a‘:{‘b‘:1,‘

Python 二級模擬操作

img dash 數列 end 隨機數 居中 分享 bubuko 結果 1.根據輸入字符串 s,輸出一個寬度為 15 字符,字符串 s 居中顯示,以“=”填充的格式。如果輸入字符串超過 15 個字符,則輸出字符串前 15 個字符 提示代碼如下:

演算法系列 - 單鏈表反轉

問題: 實現單鏈表反轉 答案: 連結串列準備 class Node { private int Data;// 資料域 private Node Next;// 指標域 public Node(int Data) { // super(); this.Data = Da

python習題常見操作和概念

1. 常見操作 1> enumerate() // 返回序列的索引和元素 for i in enumerate([1,2,3]): // 返回list的索引和元素 for i in enumerate({'k1':1,'k2':2}): // 返回字典的索引和k

動態規劃常見Python

由於動態規劃一直是一個比較難的點,因此在這裡將leetcode刷題過程中碰到的比較常見的動態規劃題記錄下來。不定期更新。 1.最長迴文子串 給定一個字串 s,找到 s 中最長的迴文子串。你可以假設 s 的最大長度為1000。 輸入: "babad" 輸出: "bab

Python Numpy 100實驗()diag()函式等

建立5*5的陣列,並設定1,2,3,4在對角線的下方: 使用numpy.diag()可以很方便的求出這個陣列 函式結構 diag(v, k=0) 引數說明 v 傳入一個數組,如果是一維陣列,那麼就會以這個陣列為對角線元素建立一個對角矩陣,如果傳入的陣列多於一維

1031:反向輸出一個位數(水系列 但要小心)

1031:反向輸出一個三位數 時間限制: 1000 ms 記憶體限制: 65536 KB 提交數: 14587 通過數: 8992 【題目描述】 將一個三位數反向輸出,例如輸入358,反向輸出853。 【輸入】 一個三位數n。 【輸出】

Python寫網路爬蟲系列)表單處理

import urllib,urllib2 LOGIN_URL = r'http://example.webscraping.com/user/login' LOGIN_EMAIL = '[email protected]' LOGIN_PASSWORD ='q

視訊直播常見問題與解決辦法彙總【系列—直播推流】

直播推流初始化設定要進行直播推流,您必須開啟直播加速 > 配置直播域名 > 直播推流,詳情參考 快速開始。如何獲取推流地址直播加速配置成功後,您可以通過以下方式獲取對應的推流地址。單擊 域名管理。選擇所需地域。選擇所需的域名。選擇所需域名,並單擊右側的 管理。在

Python 淘寶系列(): 模擬登陸成功後獲取購物車資訊

依然採用IE的F12開發者工具分析抓取到的資料。 關鍵問題 獲取token後,重定向地址的獲取     一般網站登入成功後,跳轉方式主要有兩種:(1)伺服器返回的響應頭中包含 location header,該header為重定向地址,獲取該header內容,訪問即可。(2)伺服