这不起作用,我想知道我做错了什么。
targets= ["a","b","c"]
tmplist= ["d","z","x"]
value = [ (x,y) for x in targets for y in tmplist]
我知道这个问题可以通过zip功能解决,但我想不用拉链来做。谢谢你的帮助
编辑:我很抱歉没说清楚,我心烦意乱。答案 0 :(得分:2)
幸运的是,我的水晶球今天正在工作,所以当你说它不起作用时,我可以猜出你的意思。当然,你可能通过实际解释更容易,但我们去了。
如果你只想要一个(x,y)对的列表,那么zip就是你要走的路。您拥有的语法还有其他功能:对于目标中的每个元素,它会完全遍历tmplist中的所有元素。这完全等同于:
for x in targets:
for y in tmplist:
value.append((x, y))
因此,对于一对列表[' a'' b',' c']和[1,2,3],您将得到: [(' a',1),(' a',2),(' a',3),(' b', 1),(' b',2),(' b',3),(' c',1),(' c&#39 ;,2),(' c',3)]