python - Python for 循环和列表
问题描述
我在代码中有以下内容;我忘记了我在哪里得到它或它叫什么(我是 Python 新手):
deck = [Card(x, y) for x in cards for y in suits]
从上面的代码中,我试图将多个牌组创建到一个列表中,以便用户输入牌组的数量。我一直在尝试这样做:
decks = 2
i = 0
while i < decks:
deck = [Card(x, y) for x in cards for y in suits]
i += 1
但这只会覆盖当前的甲板变量。我也试过:
decks = 2
deck = []
i = 0
while i < decks:
deck.append(Card(x, y) for x in cards for y in suits)
i += 1
但是当我打印卡片组的内容时,我只会得到<generator object <genexpr> at 0x04562C30>
和作为输出。<generator object <genexpr> at 0x04562BF0>
我究竟如何实现我想要的以及两个 for 循环在创建列表时如何工作?
我尝试了以下迭代列表的成员;不起作用:
for x in deck:
for j in x:
print(str(deck[x][j]))
解决方案
尝试这个:
deck.append([Card(x, y) for x in cards for y in suits])
这将是一个列表列表。但我认为该列表中的所有项目都将相同。
编辑:
for x in deck:
for j in x:
print(j) # or do what you want, j is that inner element
推荐阅读
- amazon-web-services - 使用 Cloud Formation 模板创建 AWS Athena View
- angular - 核心、共享和功能模块中应该包含哪些内容?
- c++ - 尝试在循环中动态初始化 3 维向量时出现分段错误
- javascript - 如何将单个键值对对象转换为具有键值对的对象数组?
- php - 验证ajax,如果数据不存在禁用提交按钮
- python - 时期的张量流样本大小
- python - Tkinter 按钮和多线程?
- java - 从具有 TABLE_PER_CLASS 继承的多对多关系中删除时,Hibernate 无法确定集合所有者
- python - Matplotlib plot Pandas df,如果条件在索引值之间填充
- time-complexity - 如何计算在排序数组中出现两次的键的二进制搜索的最坏情况时间?