Python 从for循环中获取变量?
您好,我是python的新手,我想在for循环之外加入一个变量,代码如下:Python 从for循环中获取变量?,python,python-3.x,Python,Python 3.x,您好,我是python的新手,我想在for循环之外加入一个变量,代码如下: positive_slopes=[[rows[p - q][q] for q in range(max(p-column_length+1,0), min(p+1, row_length))] for p in range(column_length + row_length - 1)] 在本例中,我希望得到[p-q]和[q]的所有值,但我真的不知道如何操作这段代码,当
positive_slopes=[[rows[p - q][q]
for q in range(max(p-column_length+1,0), min(p+1, row_length))]
for p in range(column_length + row_length - 1)]
在本例中,我希望得到[p-q]和[q]的所有值,但我真的不知道如何操作这段代码,当我试图更改某些内容时,它实际上会中断
我尝试对循环使用正常的,但没有给出与上述代码相同的结果。我尝试使用的
循环代码是:
for p in range(column_length + row_length - 1):
for q in range(max(p-column_length+1,0), min(p+1, row_length)):
positive_slopes.append(rows[p - q][q])
这与列表理解代码的结果并不完全相同。这将提供以下输出:
['e', 'a', 'a', 'g', 'l', 'h', 'r', 'o', 'l', 'a', 'i', 'h', 'h', 'e', 'e', 'i', 'a', 'e', 'l', 'h', 'h', 'h', 'i', 'y', 'l', 'o', 'o', 'h', 'l', 'a', 'o', 'l', 'a', 'h', 'h', 'e', 'y', 'o', 'u', 'a', 'l', 'i', 'y', 'l', 'a', 'u', 'l', 'h', 'o']
清单给了我这样的理解:
[['e'], ['a', 'a'], ['g', 'l', 'h'], ['r', 'o', 'l', 'a'], ['i', 'h', 'h', 'e', 'e'], ['i', 'a', 'e', 'l', 'h', 'h'], ['h', 'i', 'y', 'l', 'o', 'o', 'h'], ['l', 'a', 'o', 'l', 'a', 'h'], ['h', 'e', 'y', 'o', 'u'], ['a', 'l', 'i', 'y'], ['l', 'a', 'u'], ['l', 'h'], ['o']]
两个输出的元素是相同的,但是我希望for循环像列表一样对字母进行分组。在我的
for
循环中,为了给我相同的输出,我缺少了什么。任何帮助都将不胜感激 您编辑的代码应该类似于:
for p in range(column_length + row_length - 1):
tempList = []
for q in range(max(p-column_length+1,0), min(p+1, row_length)):
tempList.append(rows[p - q][q])
positive_slopes.append(tempList)
您编辑的代码应类似于:
for p in range(column_length + row_length - 1):
tempList = []
for q in range(max(p-column_length+1,0), min(p+1, row_length)):
tempList.append(rows[p - q][q])
positive_slopes.append(tempList)
(p-q)的哪个值?对于循环的每次迭代,它们都是不同的。你说的“获取价值”是什么意思?你想用它们做什么?请澄清你的问题。另外,如果你想在这里做更多的事情,你应该使用普通的
来进行
循环,而不是列表理解。另一件事,你所问的在列表理解中是可能的,但它看起来很难看,而且没有条理。提示:您可以运行相同的命令,只需将行[p-q][q]
替换为p-q
。编辑问题!“对不起,刚才的含糊不清。是的,”SayandipDutta说,“当涉及到列表理解时,我正在旋转我的头。”。因此,我尝试将其转换为for
循环。但是,它不会给我同样的结果。你能帮我个忙吗?(p-q)的值是多少?对于循环的每次迭代,它们都是不同的。你说的“获取价值”是什么意思?你想用它们做什么?请澄清你的问题。另外,如果你想在这里做更多的事情,你应该使用普通的来进行
循环,而不是列表理解。另一件事,你所问的在列表理解中是可能的,但它看起来很难看,而且没有条理。提示:您可以运行相同的命令,只需将行[p-q][q]
替换为p-q
。编辑问题!“对不起,刚才的含糊不清。是的,”SayandipDutta说,“当涉及到列表理解时,我正在旋转我的头。”。因此,我尝试将其转换为for
循环。但是,它不会给我同样的结果。你能帮我吗?