这里是Python的总目录。我正在使用Python 3处理CodeAbbey的问题,希望获得帮助,以简化用户输入的代码。
假设我要从用户那里获得此输入:
3
2 3
4 5
6 7
第一行是案例数,随后的每一行都是具有2个参数的案例本身。到目前为止,我已经想过要这样做:
N=int(input('How many cases will you calculate?\n'))
print('Input parameters separated by spaces:')
entr = [list(int(x) for x in input().split()) for i in range(N)]
事情是我想询问列表理解中的所有输入,然后分配N = entr [0]。但是,如何在不使用range(N)的情况下使列表理解将输入分成几行?
我尝试过:
entr = [list(int(x) for x in input().split()) for x in input()]
但是它不起作用。
我没有看到在列表理解中这样做的好处,但是这里的解决方案允许将所有数据复制粘贴到:
entr = [list(int(x) for x in input().split())
for i in range(int(input()))]
N = len(entr)
您的解决方案非常接近。仅需要给外部迭代一些要迭代的内容(使用range()
),而不是一个数字。
是的,您可以在列表理解中尝试这个
cases = [input().split() for _ in range(int(input()))]
flatList = [int(item) for elem in cases for item in elem]
print(flatList)