Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/295.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在python中同时读取两个列表中的输入_Python - Fatal编程技术网

在python中同时读取两个列表中的输入

在python中同时读取两个列表中的输入,python,Python,我在解决hackerrank上的一个问题时遇到了读取输入的问题 输入格式为: 第一行:一个数字n,它告诉我必须阅读的行数 n行:两个空格分隔的值,例如: 15 103 34 我想读取两个列表中以空格分隔的值。 所以列表a应该是[1,10,3],列表b应该是[5,3,4] 这是我的密码: dist = [] ltr = [] n = input() for i in range(n): ltr[i], dist[i] = map(int, raw_input().split(' '))

我在解决hackerrank上的一个问题时遇到了读取输入的问题

输入格式为:

第一行:一个数字
n
,它告诉我必须阅读的行数

n行:两个空格分隔的值,例如:

15

103

34

我想读取两个列表中以空格分隔的值。 所以列表a应该是[1,10,3],列表b应该是[5,3,4]

这是我的密码:

dist = []
ltr = []
n = input()
for i in range(n):
    ltr[i], dist[i] = map(int, raw_input().split(' '))
它给了我以下错误:

ltr[i],dist[i]=map(int,raw_input().split(“”))

索引器:列表 分配索引超出范围


这是Python初学者常见的错误

您正试图将输入值分配给列表
dist
ltr
中的特定单元格,但由于这些单元格是空列表,因此没有可用的单元格。索引
i
超出范围,因为该索引根本没有范围

因此,与其分配到列表中,不如附加到列表中,比如

dist = []
ltr = []
n = input()
for i in range(n):
    a, b = map(int, raw_input().split(' '))
    ltr.append(a)
    dist.append(b)

注意,我还通过插入空格改进了代码的格式。在学习之初遵循好的风格对你有好处,这样你以后就没有那么多需要克服的问题了。

这可能在某种程度上对你有所帮助;这里有一个更简单的方法来解决这个问题,正如你所知道的“简单比复杂好”:

输出:

[1, 10, 3]
[5, 3, 4]

我想如果你把这些线放在它们所在的环中,会更清楚belong@Lethr当前位置我试图保持我的答案简洁明了,但我明白你的意思。我已相应地编辑了我的答案。谢谢你的建议。很好的解释,Rory。。非常感谢。请注意,您不应该在Python 2中使用
input
,因为它不安全,允许用户在您的机器上执行任意代码。如果需要整数,请使用
int
函数转换
raw\u input
返回的字符串,例如:
n=int(raw\u input())
。在Python3中,
raw_input
已重命名为
input
,Python2的
input
函数已不存在。非常感谢您的建议。谢谢你让我知道这个事实。
[1, 10, 3]
[5, 3, 4]