首页 > 解决方案 > 一次在python中循环分配多个变量

问题描述

我想知道是否可以从用户输入的单个语句中分配多个变量并在下一步中使用它们

#原始代码:

Test=int(input())
while(Test):
    a=list(map(int,input().split()))
    print(hcf(a[0],a[1]),gcd(a[0],a[1]))
    Test-=1

#我发现此代码在为变量 a 赋值时出错

[a=list(map(int,input().split())),print(hcf(a[0],a[1]),gcd(a[0],a[1])) for x in range(int(input()))]

可以写吗?

标签: pythonpython-3.xlistfor-loopprintf

解决方案


列表理解并不总是首选,但如果你真的想用列表理解做到这一点,这就是如何做到的:

[print(hcf(a[0],a[1]),gcd(a[0],a[1])) for ctr in range(int(input())) for a in list(list(map(int,input().split())))]

参考this以更简单地理解嵌套for循环的列表理解,最里面的for循环出现在右边..

上面的代码是一样的:

for ctr in range(int(input())):
    for a in list(list(map(int,input().split()))):
        print(hcf(a[0],a[1]),gcd(a[0],a[1]))

推荐阅读