Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/323.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
将iterable变量从循环写入python列表_Python_List - Fatal编程技术网

将iterable变量从循环写入python列表

将iterable变量从循环写入python列表,python,list,Python,List,与同一问题相关的几个问题已经发布,但没有找到解决我问题的方法。我希望将循环的输出(2000个浮点的列表)放入python列表中。我得到了“variable non iterable error”,因为我没有以正确的方式调用输出的每个元素以写入列表 其他尝试,如转换为循环内的列表,会为每个元素提供一个列表,而我只需要一个包含所有元素的列表 这是我的代码: for i in range(x): timedelta= (function(i)) #datetime.timedelta elem

与同一问题相关的几个问题已经发布,但没有找到解决我问题的方法。我希望将循环的输出(2000个浮点的列表)放入python列表中。我得到了“variable non iterable error”,因为我没有以正确的方式调用输出的每个元素以写入列表

其他尝试,如转换为循环内的列表,会为每个元素提供一个列表,而我只需要一个包含所有元素的列表

这是我的代码:

for i in range(x):
    timedelta= (function(i)) #datetime.timedelta elements 
    pos_time = (i, function(i)) #tuple of an integer and a float
    time = pos_time[1]
    print time
如果我在这里完成,我会得到我需要的值列表:

3.5
2.04
6.6
4.02
...
如果我在循环中继续:

times = []
for time in range(x):
    times.append(time)
然后我从连续的值中得到一个列表,而不是循环的输出。 我需要的是一个如下列表:

times = [3.5,2.04,6.6,4.02]
非常感谢您的帮助。

在您的第二次尝试(“如果我继续在循环中”),您非常接近,只需添加函数调用:

times = [function(i) for i in range(x)]
times = []
for time in range(x):
    times.append(function(time))
此外,您可能希望查看函数以直接构建函数结果列表:

 map(function, range(x))
在您的第二次尝试(“如果我在循环中继续”),您非常接近,只需添加函数调用:

times = []
for time in range(x):
    times.append(function(time))
此外,您可能希望查看函数以直接构建函数结果列表:

 map(function, range(x))

不要打印,而是附加到时间列表:

times = []
for i in range(x):
    time= (function(i)) 
    pos_time = (i, function(i))
    time = pos_time[1]
    # print time 
    times.append(time)
我不确定我是否理解您在for循环中试图做什么:

time= (function(i))

time = function(i)
i、 e.使用循环变量作为参数调用
函数

pos_time = (i, function(i))
创建循环变量的
i
元组和对
函数(i)
的第二次调用

然后获取创建的元组的第二个/最后一个值

如果每次使用
i
调用
function(i)
时返回相同的值,则只需执行以下操作

times = []
for i in range(x):
    time = function(i)
    times.append(time)

不要打印,而是附加到时间列表:

times = []
for i in range(x):
    time= (function(i)) 
    pos_time = (i, function(i))
    time = pos_time[1]
    # print time 
    times.append(time)
我不确定我是否理解您在for循环中试图做什么:

time= (function(i))

time = function(i)
i、 e.使用循环变量作为参数调用
函数

pos_time = (i, function(i))
创建循环变量的
i
元组和对
函数(i)
的第二次调用

然后获取创建的元组的第二个/最后一个值

如果每次使用
i
调用
function(i)
时返回相同的值,则只需执行以下操作

times = []
for i in range(x):
    time = function(i)
    times.append(time)

谢谢你的快速回答,但恐怕这并不能满足我的要求。我得到了2000个相等元素的数组,这是循环的第一个值。谢谢你的快速回答,但我恐怕这并没有给出我想要的。我得到2000个相等元素的数组,它是循环的第一个值。