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',