python - 如何在函数中引用列表?
问题描述
我正在尝试使用for循环来做到这一点:当stack number = 'Stack 1'
西装类型为“西装A”时,它将card_red
按照第一个列表中第三项中指定的次数运行该函数(9)
game1 = \
[['Stack 1', 'Suit A', 9, 6],
['Stack 2', 'Suit B', 5, 0]]
def deal_cards():
if == 'Stack 1':
if == 'Suit A':
for i in range( ):
card_red(stack1_xpos, stack1_ypos)
那么我在每个“if”语句之后和 range() 括号中放什么?
解决方案
看来您有一个列表列表。使用带方括号的索引表示法来访问列表的各个元素。
def deal_cards():
if game1[0][0] == 'Stack 1':
if game1[0][1] == 'Suit A':
for i in range(game1[0][2]):
card_red(stack1_xpos, stack1_ypos)
请注意,在每种情况下,首先我使用索引[0]
来访问第一个子列表,然后使用第二个索引来访问单个元素。请记住,第一项的索引为 0,第二项的索引为 1,依此类推。
如果您想对每个子列表重复此操作,则将其作为参数传递给更容易deal_cards
:
def deal_cards(game):
if game[0] == 'Stack 1':
if game[1]== 'Suit A':
for i in range(game[2]):
card_red(stack1_xpos, stack1_ypos)
for game in game1:
deal_cards(game)
现在请注意,函数中只有单索引访问,而之前有双索引访问。这是因为game
变量在调用时已经包含一个子列表。
推荐阅读
- c# - 剑道网格的内联剑道下拉值不绑定
- android - android jetpack compose中的“remember”和“mutableState”有什么区别?
- image-processing - 如何检查 TIFF 文件是否真正具有 16 位深度
- javascript - VueJS - 父对象受子对象中此对象的深层副本更改的影响
- r - 如何使用 DoParallel 通过 R 中的条件索引来并行化矩阵切片?
- php - 在 woocommerce_package_rates 挂钩中的运输方式标签后添加文本
- javascript - Res.buffer 在获取数据时不是函数错误
- python - 使用主列查找两个 CSV 文件之间的差异
- python - 是否可以从 Django 相关字段中的类插值创建蛇案例`related_name`?
- r - 有没有人可以帮助 R Error in while (x <= 100) { : 参数长度为零