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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/go/7.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_For Loop_If Statement - Fatal编程技术网

Python 根据其他列表的标准制作列表

Python 根据其他列表的标准制作列表,python,list,for-loop,if-statement,Python,List,For Loop,If Statement,我有一个名为“label”的空列表,根据哪个bucket更合适,它将用0、1或2填充“label”列表 “标签”与3个“桶”关联: # Bucket 0: 0 -7 Days --------------------------> 0 # Bucket 1: 1 - 6 Weeks (8 - 42 Days) ----------> 1 # Bucket 2: 7+ Weeks (49+ Days) ----------------> 2 我还有一个列表,长度为23411。此

我有一个名为“label”的空列表,根据哪个bucket更合适,它将用0、1或2填充“label”列表

“标签”与3个“桶”关联:

# Bucket 0: 0 -7 Days --------------------------> 0
# Bucket 1: 1 - 6 Weeks (8 - 42 Days) ----------> 1
# Bucket 2: 7+ Weeks (49+ Days) ----------------> 2
我还有一个列表,长度为23411。此列表的内容包括0天到1099天。因此,基于此列表的内容,它应该填充“标签”列表

我尝试了这个
for循环
&
if-else
语句来做我想做的事情,但是它给了我一个
索引器:列表分配索引超出范围

label = []
for i in range(23411):
    if ageNew[i] <= 7:
        label[i] = 0
    elif ageNew[i] <= 42:
        label[i] = 1
    else:
        label[i] = 2

您不能使赋值
标签[i]=something
,因为它不存在。 改用
.append()

label = []
for i in range(23411):
    if ageNew[i] <= 7:
        res = 0
    elif ageNew[i] <= 42:
        res = 1
    else:
        res = 2
    label.append(res)
label=[]
对于范围内的i(23411):

如果ageNew[i]您无法分配
标签[i]=something
,因为它不存在。 改用
.append()

label = []
for i in range(23411):
    if ageNew[i] <= 7:
        res = 0
    elif ageNew[i] <= 42:
        res = 1
    else:
        res = 2
    label.append(res)
label=[]
对于范围内的i(23411):

如果ageNew[i]您的列表为空,那么
[i]
将无法按您预期的方式工作,因为该索引不存在。那么:

label = []
for i in range(23411):
    val = None
    if ageNew[i] <= 7:
        val = 0
    elif ageNew[i] <= 42:
        val = 1
    else:
        val = 2
    label.append(val)
label=[]
对于范围内的i(23411):
val=无

如果ageNew[i]您的列表为空,那么
[i]
将无法按您预期的方式工作,因为该索引不存在。那么:

label = []
for i in range(23411):
    val = None
    if ageNew[i] <= 7:
        val = 0
    elif ageNew[i] <= 42:
        val = 1
    else:
        val = 2
    label.append(val)
label=[]
对于范围内的i(23411):
val=无
如果ageNew[i]尝试以下方法:

label = []
for i in lists:
    if i <= 7:
        label.append(0)
    elif i >= 8 and i <= 42:
        label.append(1)
    else:
        label.append(2)
#output
[0, 1, 1, 1, 2, 2, 2, 0]
label=[]
对于列表中的i:
如果i=8且i尝试以下方法:

label = []
for i in lists:
    if i <= 7:
        label.append(0)
    elif i >= 8 and i <= 42:
        label.append(1)
    else:
        label.append(2)
#output
[0, 1, 1, 1, 2, 2, 2, 0]
label=[]
对于列表中的i:

如果i=8且i可以将
np.where
与numpy数组一起使用。例如:

list: [0, 8, 14, 14, 45, 1056, 1]
label: [0, 1, 1, 1, 2, 2, 0]
i = np.arange(23411)
label = np.where(i<=7, 0, np.where(i<=42, 1, 2))
i=np.arange(23411)

label=np.where(i您可以将
np.where
与numpy数组一起使用。例如:

list: [0, 8, 14, 14, 45, 1056, 1]
label: [0, 1, 1, 1, 2, 2, 0]
i = np.arange(23411)
label = np.where(i<=7, 0, np.where(i<=42, 1, 2))
i=np.arange(23411)

label=np.where(你想用
numpy
来回答问题吗?你没有使用它。要解决你的错误,请用
label.append(…)
替换
label[i]=…
。当
label=[]
时,
label[0]
是“未定义”的,因为没有第0个元素。您可能需要
label.append
或列表理解。是否希望答案带有
numpy
?您没有使用它。若要解决错误,请将
label[i]=…
替换为
label.append(…)
。当
label=[]
时,
label[0]
为“未定义”,因为没有第0个元素。您可能需要
label.append
或列表。