python zip函数转制_Python zip函数及用法
zip() 函數是?Python?內置函數之一,它可以將多個序列(列表、元組、字典、集合、字符串以及 range() 區間構成的列表)“壓縮”成一個 zip 對象。所謂“壓縮”,其實就是將這些序列中對應位置的元素重新組合,生成一個個新的元組。
和 Python 3.x 版本不同,Python 2.x 版本中的 zip() 函數會直接返回列表,而不是返回 zip 對象。但是,返回的列表或者 zip 對象,其包含的元素(都是元組)是相同的。
zip() 函數的語法格式為:
zip(iterable, ...)
其中 iterable,... 表示多個列表、元組、字典、集合、字符串,甚至還可以為 range() 區間。
下面程序演示了 zip() 函數的基本用法:
my_list = [11,12,13]
my_tuple= (21,22,23)print([x for x inzip(my_list,my_tuple)])
my_dic= {31:2,32:4,33:5}
my_set= {41,42,43,44}print([x for x inzip(my_dic)])
my_pychar= "python"my_shechar= "shell"
print([x for x in zip(my_pychar,my_shechar)])
程序執行結果為:
[(11, 21), (12, 22), (13, 23)]
[(31,), (32,), (33,)]
[('p', 's'), ('y', 'h'), ('t', 'e'), ('h', 'l'), ('o', 'l')]
如果讀者分析以上的程序和相應的輸出結果不難發現,在使用 zip() 函數“壓縮”多個序列時,它會分別取各序列中第 1 個元素、第 2 個元素、... 第 n 個元素,各自組成新的元組。需要注意的是,當多個序列中元素個數不一致時,會以最短的序列為準進行壓縮。
另外,對于 zip() 函數返回的 zip 對象,既可以像上面程序那樣,通過遍歷提取其存儲的元組,也可以向下面程序這樣,通過調用 list() 函數將 zip() 對象強制轉換成列表:
my_list = [11,12,13]
my_tuple= (21,22,23)print(list(zip(my_list,my_tuple)))
程序執行結果為:
[(11, 21), (12, 22), (13, 23)]
結尾福利
本文的文字及圖片來源于網絡加上自己的想法,僅供學習、交流使用,不具有任何商業用途,版權歸原作者所有,如有問題請及時聯系我們以作處理。
總結
以上是生活随笔為你收集整理的python zip函数转制_Python zip函数及用法的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: jlabel字怎么变化_疫情在家烦躁不如
- 下一篇: log4j:WARN No append