python - 一次在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()))]
可以写吗?
解决方案
列表理解并不总是首选,但如果你真的想用列表理解做到这一点,这就是如何做到的:
[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]))
推荐阅读
- python - Python整数在调试期间拒绝增加(+=)
- android - 协调器布局内的 Recyclerview 不滚动
- javascript - 重构代码以使用“new”运算符进行优化
- machine-learning - NameError:name 'cross_validation' 未定义
- mysql - 如何在事先不知道该值的情况下选择列中具有相同值的行?
- scope - 使用 let 定义的变量未在同一范围 IIFE 中定义
- python - pip 没有安装任何东西并告诉我升级 pip
- xml - 在 XSD 中定义复杂类型
- c# - 从右到左语言的正则表达式模式匹配
- angularjs - 卡在控制器中的一个愚蠢的循环中