python-Zip方法

zip 返回一个将多个可迭代对象组合成一个元组序列的迭代器。

1.  循环多个list的数据:

1 letters = [‘a‘, ‘b‘, ‘c‘]
2 nums = [1, 2, 3]
3
4 for letter, num in zip(letters, nums):
5     print("{}: {}".format(letter, num))

2. 将多个list的数据组合成tuple的list:

1 list(zip([‘a‘, ‘b‘, ‘c‘], [1, 2, 3]))
2
3 # 得到: [(‘a‘, 1), (‘b‘, 2), (‘c‘, 3)].

3. 将tuple组成的list拆分成多个tuple:

1 some_list = [(‘a‘, 1), (‘b‘, 2), (‘c‘, 3)]
2 letters, nums = zip(*some_list)
3
4 #结果
5 # letters: (‘a‘, ‘b‘, ‘c‘)
6 # nums: (1, 2, 3)
7          

*注意,即使不是list,而是tuple,依然可以拆分,拆分后的结果都是tuple:

some_list = ((‘a‘, 1), (‘b‘, 2), (‘c‘, 3))
letters, nums = zip(*some_list)

#结果同上 

*注意,即使不是tuple,是list,依然可以拆分,拆分后的结果都是tuple:

some_list = [[‘a‘, 1], [‘b‘, 2], [‘c‘, 3]]
letters, nums = zip(*some_list)

举个栗子:

# 将 data 从 4x3 矩阵转置成 3x4 矩阵。

data = ((0, 1, 2), (3, 4, 5), (6, 7, 8), (9, 10, 11))

data_transpose = zip(*data)

# 结果:
[(0, 3, 6, 9), (1, 4, 7, 10), (2, 5, 8, 11)]

*值得注意的是:

zip 用于整合数据的时候,返回的是一个可迭代的迭代器,可以用来循环,也可以通过 list() , tuple() 方法把它变成list或tuple

zip 用于拆分数据的时候,可以拆分list,拆分tuple,但返回的总是一个list,并且list的每个元素都是tuple

原文地址:https://www.cnblogs.com/liulangmao/p/9119703.html

时间: 2024-10-12 14:05:39

python-Zip方法的相关文章

Python list方法总结

1.向列表的尾部添加一个新的元素 append(...) L.append(object) -- append object to end >>> a = ['sam',24,'shaw'] >>> a.append('35') >>> a ['sam', 24, 'shaw', '35'] 2.查找list中有多少个value count(...) L.count(value) -> integer -- returnnumber of occ

Python capitalize()方法

Python capitalize()方法 capitalize()方法返回字符串的一个副本,只有它的第一个字母大写.对于8位的字符串,这个方法与语言环境相关. 语法 以下是capitalize()方法的语法: str.capitalize() 参数 NA 返回值 此方法返回的字符串只有它的第一个字符大写的副本. 例子 下面的示例演示了capitalize方法的使用. #!/usr/bin/python str = "this is string example....wow!!!";

Python字典方法copy()和deepcopy()的区别

1 from copy import deepcopy # import deepcopy模块 2 d = {} 3 d['name'] = ['black', 'guts'] # d = {'name': ['black', 'guts']} 4 c = d.copy() # c = {'name': ['black', 'guts']} 5 dc = deepcopy(d) # dc = {'name': ['black', 'guts']} 6 d['name'].append('whit

Python strip()方法

描述 Python strip() 方法用于移除字符串头尾指定的字符(默认为空格). 语法 strip()方法语法: str.strip([chars]); 参数 chars -- 移除字符串头尾指定的字符. 返回值 返回移除字符串头尾指定的字符生成的新字符串. 实例 以下实例展示了strip()函数的使用方法: #!/usr/bin/python str = "0000000this is string example....wow!!!0000000"; print str.str

python zip文件密码爆破

#!/usr/bin/env # coding=UTF-8 import zipfile import threading import os import sys class CrackZip: def __init__(self): self._result = None def run(self,zFile,password): try: zFile.extractall(pwd=password) print("Found Passwd:",password) print('P

Python startswith()方法

描述 Python startswith() 方法用于检查字符串是否是以指定子字符串开头,如果是则返回 True,否则返回 False.如果参数 beg 和 end 指定值,则在指定范围内检查. 语法 startswith()方法语法: str.startswith(str, beg=0,end=len(string)); 参数 str -- 检测的字符串. strbeg -- 可选参数用于设置字符串检测的起始位置. strend -- 可选参数用于设置字符串检测的结束位置. 返回值 如果检测到

Python 字符串方法详解

Python 字符串方法详解 本文最初发表于赖勇浩(恋花蝶)的博客(http://blog.csdn.net/lanphaday),如蒙转载,敬请保留全文完整,切勿去除本声明和作者信息. 在编程中,几乎90% 以上的代码都是关于整数或字符串操作,所以与整数一样,Python 的字符串实现也使用了许多拿优化技术,使得字符串的性能达到极致.与 C++ 标准库(STL)中的 std::string 不同,python 字符串集合了许多字符串相关的算法,以方法成员的方式提供接口,使用起来非常方便. 字符

Python replace()方法

描述 Python replace() 方法把字符串中的 old(旧字符串) 替换成 new(新字符串),如果指定第三个参数max,则替换不超过 max 次. 语法 replace()方法语法: str.replace(old, new[, max]) 参数 old -- 将被替换的子字符串. new -- 新字符串,用于替换old子字符串. max -- 可选字符串, 替换不超过 max 次 返回值 返回字符串中的 old(旧字符串) 替换成 new(新字符串)后生成的新字符串,如果指定第三个

Python count()方法

描述 Python count() 方法用于统计字符串里某个字符出现的次数.可选参数为在字符串搜索的开始与结束位置. 语法 count()方法语法: 1 str.count(sub, start= 0,end=len(string)) 参数 sub -- 搜索的子字符串 start -- 字符串开始搜索的位置.默认为第一个字符,第一个字符索引值为0. end -- 字符串中结束搜索的位置.字符中第一个字符的索引为 0.默认为字符串的最后一个位置. 返回值 该方法返回子字符串在字符串中出现的次数.

Python strip()方法介绍

描述 Python strip() 方法用于移除字符串头尾指定的字符(默认为空格). 语法 strip()方法语法: str.strip([chars]); 参数 chars -- 移除字符串头尾指定的字符. 返回值 返回移除字符串头尾指定的字符生成的新字符串. 特别注意:移除的字符串的头尾指定字符,不如不是头尾字符不会移除 例1: >>> a = '     123    '>>> a.strip()'123' 例2: >>> a = '  123