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