【问题标题】:assigning multiple variables in python at loop at once一次在python中循环分配多个变量
【发布时间】:2021-07-31 08:45:16
【问题描述】:

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

#原始代码:

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()))]

可以写吗?

【问题讨论】:

  • 列表推导式仅在您想要列出表达式的结果时使用。不要将它们用作循环的通用快捷方式。

标签: python python-3.x list for-loop printf


【解决方案1】:

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

[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]))

【讨论】:

  • [print(hcf(data[0],data[1]),gcd(data[0],data[1])) for testcase in range(int(input())) for data in [list(map(int,input().split()))]]
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2019-06-04
  • 2015-08-30
  • 1970-01-01
  • 1970-01-01
  • 2017-03-01
  • 2017-05-29
相关资源
最近更新 更多