1. 程式人生 > 其它 >Python之文字對應(Zip函式)

Python之文字對應(Zip函式)

對應

這次介紹一下詞語和數字的對應方法(只要是對應 什麼都可以!)

def read_category():
    """讀取分類目錄,固定 將分類目錄轉換為{類別:id}"""
    categories = ['ATB', 'ATC', 'ATO', 'CCTV', 'SIV', 'TMS', '車門', '車載訊號系統',
                  '電子地圖', '廣播', '空調', '牽引系統', '網路通訊', '制動系統', 'ATP']

    categories = [x for x in categories]

    cat_to_id = dict(zip(categories, range(len(categories))))  # 將得到的列表與正整數陣列進行對應並構成詞典

    return categories, cat_to_id

zip

該函式用於將可迭代的物件作為引數,將物件中對應的元素打包成一個個元組,然後返回由這些元組成的列表。如果各個迭代器的元素個數不一致,則返回列表長度與最短的物件相同,利用*操作符,可以將元組解壓為列表

a = [1, 2, 3]
b = [4, 5, 6]
c = [4, 5, 6, 7, 8]
zipped = zip(a, b)	# 打包為元組的列表 上下對應,兩兩一組
zip(a, c)			# 元素個數與最短的列表一致
zip(*zipped)		# 解壓 返回二維矩陣格式

# 可以用於對二維列表取列
matrix = [[1,2,3],[4,5,6],[7,8,9]]
print(zip(*matrix))
# [(1, 4, 7), (2, 5, 8), (3, 6, 9)]

這個函式真的好用!!碼住碼住

加個關鍵詞:對應