我遇到了一個尷尬的列表理解問題,我無法解決。所以,我有兩個列表看起來像以下:在列表的多個列表上的理解
a=[[....],[....],[....]]
b=[[....],[....],[....]]
len(a)==len(b) including sublists i.e sublists also have the same dimension.
現在我想做一個re.compile它看起來像:
[re.compile(_subelement_in_a).search(_subelement_in_b).group(1)]
,我想知道怎樣才能實現上述使用名單compherension - 是這樣的:
[[re.compile(str(x)).search(str(y)).group(1) for x in a] for y in b]
顯然上面似乎..但沒有工作,我想知道如果有人能在正確的方向指向我。
編輯
我剛剛意識到,B的子列表比的子列表更多的元素。因此,舉例來說:
a=[[1 items],[1 items],[1 items]]
b=[[10 item], [10 item], [10 item]]
我還是想做到像我上面的問題:
[[re.compile(str(x)).search(str(y)).group(1) for x in b] for y in a]
和輸出看起來像:
c = [[b[0] in a[0] items],[b[1] in a[1] items],[b[2] in a[2] items]]
例子:
a=[["hgjkhukhkh"],["78hkugkgkug"],["ukkhukhylh"]]
b=[[r"""a(.*?)b""",r"""c(.*?)d""",r"""e(.*?)f""",r"""g(.*?)h""",r"""i(.*?)j"""],[r"""k(.*?)l""",r"""m(.*?)n""",r"""o(.*?)p""",r"""q(.*?)r"""],[r"""s(.*?)t""",r"""u(.*?)v""",r"""x(.*?)y""",r"""z(.*?)>"""]]
使用一對一映射。即檢查:
elements of sublists of b[0] are present in sublist element of a[0]
elements of sublists of b[1] are present in sublist element of a[1]
elements of sublists of b[2] are presnet in sublist element of a[2]
更改問題參數就像這樣建議您在第一時間沒有給出一個好的嘗試問題,因爲您沒有注意到問題。 – nneonneo 2013-03-11 01:46:25
有沒有理由認爲你必須用列表理解來解決這個問題?您是否接受其他解決方案? – 2013-03-11 02:21:47
是的,我很樂意接受任何解決方案。我只是認爲列表理解是一個很好的解決方案。 – user2152572 2013-03-11 02:38:00