持有INT迭代列表中的完整的故事的Python使從INT
我有namedtuples的列表,它本身擁有一個數組和字符串如下:
a = [
X(( 1, 1), "a"),
X(( 2, 1), "b"),
X(( [3, 4], 1), "c"),
X((range(25, 30), 4), "d")
X(( 13, [6, 14]), "e")
]
我想要回通過將給定元組的值與第一個元組中的值進行比較來命名tuple。
例如,
b = (1, 1)
return [x for x in a if a.val == b]
我面臨的問題是這種情況b = (3, 1)
它應該返回第三個元組。
我試着看zip
,但只有在迭代次數相同時纔有效。 我也看過itertools.product
,但爲此我需要將所有元素都可迭代。
短期問題
我想看看是否有一種方法來遍歷元素在內部的元組,並使其iterables的元組。
東西如下:
a = ([3, 4], 1)
b = [[x] for x in a]
c = product(*b)
這樣做的問題是,[3, 4]
變得[[3, 4]]
。這隻會導致一個產品。
我試圖避免每個int
a list
非編程式。
那麼,爲什麼要把' ([3,4],1)'元組匹配?這裏有什麼規則?它應該匹配,因爲第一個元素*包含*'3'?這聽起來像是遞歸問題。 –
這個列表意味着任何給定的值都應該匹配,所以'(3,1)'應該匹配,以及'(4,1)'。這是在表格中輸入值的簡寫符號。 –
@TsviM,應該'b =(30,6)'匹配'X((範圍(25,30),4),「d」)'? – RomanPerekhrest