iterable-unpacking

    0热度

    1回答

    我正试图找到一种更简洁的方式来返回任意数量的NxN矩阵。 现在,我使用以下方式这个功能 from numpy import matrix, zeros def empty_matrix(dim, num): """Returns an empty square matrix of type complex and size a.""" if num == 1: retu

    2热度

    2回答

    假设函数some_descriptively_named_function返回4个返回参数的4 tuple。我想打电话给some_descriptively_named_function,坚持80个字符的行长度限制,每个打开所有4个输出到一个描述性名称的变量: some_desc_name1, some_desc_name2, some_desc_name3, some_desc_name4 =

    1热度

    3回答

    我在想如果有一些方法来解压对象属性。 通常这样做涉及到一系列的: self.x = x self.y = y ... #etc. 但是应该可以做的更好。 我想是这样的: def __init__(self,x,y,z): self.(x,y,z) = x,y,z 或可能: 与X,Y,Z的解压缩(个体经营) ,甚至类似的功能: def __init__(self,x,y,z):

    7热度

    1回答

    一次,看着迈克·穆勒的性能优化教程(我认为this one)后,一个念头就开始住在我的脑海:如果性能问题,最大限度地减少指数,E访问的循环项目。 G。如果您需要访问x[1]多次在一个循环for x in l - 一个变量分配给x[1]和循环再利用它。 现在我有这个合成例子: import timeit SEQUENCE = zip(range(1000), range(1, 1001))

    2热度

    1回答

    我想从迭代中检索特定索引。这将相当于: In [7]: def f(): ...: return [1,2,3,4,5] In [8]: (_, x, _, y, _) = f() In [9]: x, y Out[9]: (2, 4) 但我不想计算迭代多次或者是很长,我不想写太多_小号 我的问题是纯粹出于好奇心,我实际上使用了一个局部变量,如上所示。 编辑: 一种解决方案是

    2热度

    2回答

    说我有下面的代码: from urlparse import urlparse parsed_url = urlparse(url) scheme, netloc, path = parsed_url[0], parsed_url[1], parsed_url[2] 是否有指定的三个变量的一个更优雅的或短的路?看起来有点混乱写三次parsed_url(我期待除了将parsed_url重命名

    18热度

    1回答

    In [55]: a = 5 In [56]: b = 6 In [57]: (a, b) = (b, a) In [58]: a Out[58]: 6 In [59]: b Out[59]: 5 a和b的值的交换如何在内部工作?它绝对不使用临时变量。

    3热度

    2回答

    为什么后面的两个代码片段会产生不同的错误? 我知道字符串是可迭代的,但我不明白为什么这里很重要,因为集合是被迭代的对象。 s = set([1, 2]) for one, two in s: print one, two 引发 Traceback (most recent call last): File "asdf.py", line 86, in <module>

    2热度

    2回答

    假设我有一个包含两个元素的元组列表和一个(不是元组)列表的列表,例如整数 a = [('x', 'a'), ('y', 'b'), ('z', 'c')] b = [1, 2 ,3] 我想让三元素的元组的列表,以便我编写象下面这样: zipped = zip((t[0] for t in a), (t[1] for t in a), b) assert zipped == [('x', '

    2热度

    3回答

    我有一些输入值的列表,其中第一对强制和最后一对是可选的。有没有简单的方法可以使用元组解包将这些分配给变量,如果缺少可选参数,则获取无。 例如。 a = [1,2] foo, bar, baz = a # baz == None 理想情况下,a可以是任意长度 - 包括长于3(其他物品被扔掉)。 在我使用的是参数名称列表拉链得到一本字典的瞬间: items = dict(zip(('foo',