
【閱讀全文】
1、如何統一串列中的元素物件的型別?
假設一個串列中的資料是下面這樣的:
list_1 = ['a', 1, 3.0, 2, '1']
現在為了保證資料統一,將每個元素的型別都轉為字符型別,如果要使用很少的代碼量完成,那最先想到的就是map()函式,基本思路就是用map函式遍歷后對應改變每個元素的資料型別,
list_2 = list(map(str, list_1))
print(list_2)
經過處理以后可以得到下面的結果,陣列中的每個元素都已經變成了字符型別了,
['a', '1', '3.0', '2', '1']
2、如何將子串列的元素全部合并到父串列中?
有一個二維陣列是這樣的,
list_3 = [['a', 'b'], ['c'], ['d', 'e', 'f'], ['g']]
最終目的是想轉換成這樣的,
list_4 = ['a', 'b', 'c', 'd', 'e', 'f', 'g']
這個時候可以使用串列生成式的方式來做,通常串列生成式只需要一行代碼就可以實作,
list_5 = [item for list_ in list_3 for item in list_]
print(list_5)
# ['a', 'b', 'c', 'd', 'e', 'f', 'g']
這個運算式實際上是分成了兩個部分,一個是for list_ in list_3遍歷原始的list_3二維陣列,
這個時候list_就是二維陣列中的每個一位陣列物件,在使用for item in list_相當于把一位陣列再遍歷,得到的item實際上就是所有的具體元素,
3、如何交換一個字典中的鍵值對?就是將鍵:值反過來,
例如有下面這樣的字典資料:
dic_1 = {'name': 'Python 集中營', 'age': '1', 'sex': 'man'}
dic_2 = {a: b for b, a in dic_1.items()} # 通過直接遍歷出鍵:值,同時鍵:進行交換,
print(dic_2)
得到的結果如下:
{'Python 集中營': 'name', '1': 'age', 'man': 'sex'}
4、如何使用map()函式計算所有整數位之和?
比如:123 = 1 + 2 + 3 = 6,511 = 5 + 1 + 1 = 7;
首先,肯定要用到sum()函式來計算和,
假設要計算 456 = 4 + 5 + 6 = 15
print(sum([4, 5, 6]))
# 15
像上面這樣要計算456的和,只需要將其拆分成4,5,6,再使用sum()計算即可,
這個拆分操作使用map()函式就可以實作,
list10 = list(map(int,str(456)))
print(list10)
# [4, 5, 6]
最終,寫成一行應該是這樣的,
sum(map(int,str(456)))
將其轉換成一個函式就是再加上一個虛擬函式運算式,
func_sum = lambda a: sum(map(int,str(a)))
print(func_sum(7891)) # 呼叫該函式
# 得到結果 25

【往期精彩】
過年了,用 PyQt5 生成一副春聯吧...
記錄一下python中的十大%占位符對應的格式化...
PyQt5 UI 制作一個豆瓣電影資訊查看器,初識QThread多執行緒...
PyQt5 最小化到托盤,升級小鬧鐘...
PyQt5 小工具:Excel資料分組匯總器...
歡迎關注作者公眾號【Python 集中營】,專注于后端編程,每天更新技術干貨,不定時分享各類資料!轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/419911.html
標籤:Python
