Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/362.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
是否有与C++;Python列表理解中使用的前置/后缀运算符?_Python_List - Fatal编程技术网

是否有与C++;Python列表理解中使用的前置/后缀运算符?

是否有与C++;Python列表理解中使用的前置/后缀运算符?,python,list,Python,List,我编写了一个函数,填充两个元素的列表,其中第一个元素是来自不同列表的元素,第二个元素是递增的值 def list_of_pairs(seq, start): """ Returns a list of pairs """ >>> list_of_pairs([3, 2, 1], 1) [ [3, 1], [2, 2], [1, 3] ] return [[i, start++] for i in seq] 是否有一个等价的C++后缀算子可以使用

我编写了一个函数,填充两个元素的列表,其中第一个元素是来自不同列表的元素,第二个元素是递增的值

def list_of_pairs(seq, start):
    """ Returns a list of pairs """
    >>> list_of_pairs([3, 2, 1], 1)
    [ [3, 1], [2, 2], [1, 3] ]
    return [[i, start++] for i in seq]

是否有一个等价的C++后缀算子可以使用?谢谢

附加问题:使用列表构造函数是否比使用方括号构建列表更具python风格

编辑:这是我目前(不太漂亮)的解决方法-

def list_of_pairs(seq, start):
    """ Returns a list of pairs """
    >>> list_of_pairs([3, 2, 1], 1)
    [ [3, 1], [2, 2], [1, 3] ]
    return [[seq[i], start+i] for i in range(len(seq))]

对于序列中的每个元素,可以通过调用
count
对象上的
next
来实现同样的效果:

from itertools import count

c = count(start)
lst = [[x, next(c)] for x in seq]
使用方括号构建列表


这是一个列表。使用列表理解来创建列表是非常标准的,而且最有可能是python式的。

对于序列中的每个元素,可以通过调用
count
对象上的
next
来实现这一点:

from itertools import count

c = count(start)
lst = [[x, next(c)] for x in seq]
使用方括号构建列表

这是一个列表。使用列表理解来创建列表是非常标准的,而且最有可能是python式的。

您可以使用它来实现这一点。枚举在遍历值列表时返回索引和值。根据您的要求,您需要
list
列表作为
[val,index+count]
。下面是实现该目标的示例代码:

>>> seq = [2, 6, 9]
>>> count = 2
>>> [[val, count+i] for i, val in enumerate(seq)]
[[2, 2], [6, 3], [9, 4]]
您可以使用来实现这一点。枚举在遍历值列表时返回索引和值。根据您的要求,您需要
list
列表作为
[val,index+count]
。下面是实现该目标的示例代码:

>>> seq = [2, 6, 9]
>>> count = 2
>>> [[val, count+i] for i, val in enumerate(seq)]
[[2, 2], [6, 3], [9, 4]]

++
--
被故意从Python中排除,因为在表达式中使用它们往往会导致代码混乱和一个接一个的错误

您应改为使用:


++
--
被故意从Python中排除,因为在表达式中使用它们往往会导致代码混乱和一个接一个的错误

您应改为使用: