range
list在Python3中不返回a ,因此
range(2, 10) + ["J", "Q", "K","A"]不起作用,但是
list(range(2, 10)) + ["J", "Q", "K","A"]可以。您还可以
itertools.chain用来串联可迭代对象:
from itertools import chainchain(range(2, 10), ["J", "Q", "K", "A"])# or even shorter:chain(range(2, 10), "JQKA") # as strings themselves are iterables# so this comprehension will workdeck = [ (value, suit) for value in chain(range(2, 10), "JQKA") for suit in "HCDS"]
嵌套的理解当然会构成笛卡尔积,您也可以将util用于以下方面:
from itertools import productdeck = list(product(chain(range(2, 10), "JQKA"), "HCDS"))


![如何通过一个循环依次遍历多个列表?[重复] 如何通过一个循环依次遍历多个列表?[重复]](http://www.mshxw.com/aiimages/31/646387.png)
