您好, 欢迎来到 !    登录 | 注册 | | 设为首页 | 收藏本站

如何通过一个循环依次遍历多个列表?

如何通过一个循环依次遍历多个列表?

rangelistpython3中不返回a ,因此range(2, 10) + ["J", "Q", "K", "A"]不起作用,但是list(range(2, 10)) + ["J", "Q", "K", "A"]可以。您还可以itertools.chain用来串联可迭代对象:

from itertools import chain

chain(range(2, 10), ["J", "Q", "K", "A"])
# or even shorter:
chain(range(2, 10), "JQKA")  # as strings themselves are iterables

# so this comprehension will work
deck = [
   (value, suit) 
   for value in chain(range(2, 10), "JQKA") 
   for suit in "HCDS"
]

嵌套的理解当然会构成笛卡尔积,您也可以将util用于以下方面:

from itertools import product
deck = list(product(chain(range(2, 10), "JQKA"), "HCDS"))
其他 2022/1/1 18:41:42 有381人围观

撰写回答


你尚未登录,登录后可以

和开发者交流问题的细节

关注并接收问题和回答的更新提醒

参与内容的编辑和改进,让解决方法与时俱进

请先登录

推荐问题


联系我
置顶