1
我想通過一個字符串列表來壓縮如下郵編通過列表,並獲得每對項目的
collections = [u'Room Designers', u'BCRF', u'House']
我想什麼來實現在列表中的三個元素的6種組合 -
("Room Designers", "BCRF"), ("Room Designers", "House"), ("BCRF", "House"), ("BCRF", "Room Designers"), ("House", "BCRF"), ("House", "Room")
下面
zipall = [zip(i,j) for i in collections for j in collections if i!=j]
我的代碼獲得:
[[(u'R', u'B'), (u'o', u'C'), (u'o', u'R'), (u'm', u'F')], [(u'R', u'H'), (u'o', u'o'), (u'o', u'u'), (u'm', u's'), (u' ', u'e')], [(u'B', u'R'), (u'C', u'o'), (u'R', u'o'), (u'F', u'm')], [(u'B', u'H'), (u'C', u'o'), (u'R', u'u'), (u'F', u's')], [(u'H', u'R'), (u'o', u'o'), (u'u', u'o'), (u's', u'm'), (u'e', u' ')], [(u'H', u'B'), (u'o', u'C'), (u'u', u'R'), (u's', u'F')]]
什麼是更好的方法來做到這一點?謝謝!!
你得到的單字母組合,因爲你傳遞了兩個字符串'zip',和一個字符串本身就是一個字符序列,使拉鍊從每根弦拉過對單個字符。 –
謝謝。確實是的。我也沒有意識到itertools可以如此強大! – achimneyswallow