pytorch_常用python操作

一 列表操作

1.1 zip()、zip(*)

Python 的 zip() 函数定义为 zip(*iterables)。该函数将可迭代对象作为参数并返回一个迭代器。此迭代器生成一系列元组,其中包含来自每个可迭代对象的元素。 zip() 可以接受任何类型的可迭代对象,例如文件、列表、元组、字典、集合等。

代码示例:

>>> numbers = [1, 2, 3]
>>> letters = ['a', 'b', 'c']
>>> zipped = zip(numbers, letters)
>>> zipped  # Holds an iterator object
<zip object at 0x7fa4831153c8>
>>> type(zipped)
<class 'zip'>
>>> list(zipped)
[(1, 'a'), (2, 'b'), (3, 'c')]

在这里,使用 zip(numbers, letters) 创建一个生成 (x, y) 形式的元组的迭代器。在这种情况下,x 值取自数字,y 值取自字母。请注意 Python zip() 函数如何返回迭代器。要检索最终的列表对象,需要使用 list() 来使用迭代器。

注意当使用诸如列表、元组或字符串之类的序列,则可以保证从左到右评估可迭代对象。这意味着生成的元组列表将采用以下形式 [(numbers[0], letters[0]), (numbers[1], letters[1]),…, (numbers[n], letters[n ])]。但是,对于其他类型的可迭代对象(如集合),您可能会看到一些奇怪的结果:

>>> s1 = {
    
    2, 3, 1}
>>> s2 = {
    
    'b', 'a', 'c'}
>>> list(zip(s1, s2))
[(1, 'a'), (2, 'c'), (3, 'b')]

可参考:1、详细解释 十分详细
2、彻底搞懂zip
后续其他高阶玩法不定时更新

猜你喜欢

转载自blog.csdn.net/qq_38765642/article/details/127844536