Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/list/4.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_List_Numpy - Fatal编程技术网

Python 在列表中插入值

Python 在列表中插入值,python,list,numpy,Python,List,Numpy,如何在列表末尾有nan的列表中,在nan之前插入一个值 random = [9,1,5, ... 7,6,3,2,5, nan, nan, nan, ...] random.append(8181) < somehow add function here 从末尾遍历列表以找到正确的位置,然后使用列表。插入: import math i = 0 while math.isnan(random[i - 1]): i -= 1 random.insert(i, 8181) 从末

如何在列表末尾有nan的列表中,在nan之前插入一个值

random = [9,1,5, ... 7,6,3,2,5, nan, nan, nan, ...]

random.append(8181) < somehow add function here

从末尾遍历列表以找到正确的位置,然后使用
列表。插入

import math

i = 0
while math.isnan(random[i - 1]):
    i -= 1

random.insert(i, 8181)

从末尾遍历列表以找到正确的位置,然后使用
列表。插入

import math

i = 0
while math.isnan(random[i - 1]):
    i -= 1

random.insert(i, 8181)
这可能是:

In [2067]: import numpy as np 
In [2057]: pos = random.index(np.nan)
In [2062]: b = random[:] 
In [2064]: b[pos:pos] = [8181]                                                                                                                                                                              

In [2065]: b                                                                                                                                                                                                
Out[2065]: [9, 1, 5, 7, 6, 3, 2, 5, 8181, nan, nan, nan]
或 这可能是:

In [2067]: import numpy as np 
In [2057]: pos = random.index(np.nan)
In [2062]: b = random[:] 
In [2064]: b[pos:pos] = [8181]                                                                                                                                                                              

In [2065]: b                                                                                                                                                                                                
Out[2065]: [9, 1, 5, 7, 6, 3, 2, 5, 8181, nan, nan, nan]

如果我们知道有多少个
NaN
值,那么我们可以使用带有负数的
insert

my_list.insert(-nan_count, 8181)
如果我们不知道计数,那么我们需要找出最后的位置

for i,v in enumerate(reversed(my_list)): # loop backwards
    if v==v:
        a.insert(len(a)-i, 8181) # found the first non NaN, insert just before this
        break # only do it for the first item

如果我们知道有多少个
NaN
值,那么我们可以使用带有负数的
insert

my_list.insert(-nan_count, 8181)
如果我们不知道计数,那么我们需要找出最后的位置

for i,v in enumerate(reversed(my_list)): # loop backwards
    if v==v:
        a.insert(len(a)-i, 8181) # found the first non NaN, insert just before this
        break # only do it for the first item

您可以结合使用
list.index()
list.insert()
来解决这个问题。如果在循环执行过程中nan的数量是静态的,请使用带有负索引的insert。@OlvinRoght我在这里没有看到任何循环。@code peedient,你认为他很少一行一行地写插入?@Code-peedient。你可以通过组合使用list.index()list.insert()来解决这个问题。如果在循环执行过程中nan的数量是静态的,请使用带有负索引的insert。@OlvinRoght我在这里没有看到任何循环。@Code-peedient,你认为他几乎没有逐行编写的插入?@Code学徒。这可能适用于np.nan,但可能不适用于float('nan')。因为OP没有具体说明nan,我冒昧地使用了
np.nan
。问题没有标记为numpy,他们没有使用numpy数组…@wim请检查。答案是48票。它清楚地提到float('nan')可以被
numpy
捕获。我认为您没有抓住要点。请尝试
[float(“nan”)].index(np.nan)
以了解我的意思。这可能适用于
np.nan
,但可能不适用于
float('nan')
。因为OP没有具体说明
nan
,我冒昧地使用了
np.nan
。问题没有标记为numpy,他们没有使用numpy数组…@wim请检查。答案是48票。它清楚地提到float('nan')可以被
numpy
捕获。我认为您没有抓住要点。试试
[float(“nan”)].index(np.nan)
看看我的意思。