Python追加多个元素

问题描述

我有一个包含 6500 个图像(数组)的列表(T),用于图像分类,我想看看增加数据如何影响准确性。

所以,从 n=2000 张图像开始,我想有一个循环,在每次迭代时添加 500(n+=500) 张图像,直到达到 6500,因此比较 2000、2500、3000、.. . 6500. 我通过一个包含 20 个元素的列表简化了下面的问题。

lst = [1,2,3,4,5,6,7,8,9,1,0]

我的第二个列表 (slist) 包含第一个列表 (lst) 的前 9 个元素。

我试图在每次迭代时向 slist 添加 2 个值,从 lst[9:] 开始。我知道应该使用 append 一次添加多个值而不是使用 extend。但是,我找不到办法做到这一点。

在下面的代码中,每个循环都会向 slist(来自 lst)添加一个元素。

lst = [1,0]
slist = lst[:9]
for i in lst[9:]:
    slist.append(i)

如何在每个循环中同时添加 2 个或 3 个元素?一个示例输出是:

[1,1]

[1,3]

[1,5]

解决方法

您可以尝试使用 extend

l = [1,2,3,4,5,6,7,8,9,1,0]
slist = l[:9]
for i in l[9:][::2]:
    if i == l[9]:
        slist.extend(l[9+i: 9+i+1])
    else:
        slist.extend(l[9+i-1: 9+i+1])
    print(slist)

输出:

[1,0]
[1,2]
[1,4]
[1,6]
[1,8]
[1,0]
,
lst=[1,10,11,12,13,14,15,16,17,18,19,20]

iter = 9
while True:
    print(lst[:iter])
    iter+=2
    if len(lst) <= iter:
        print(lst[:iter])
        break
,

此代码完成工作

lst=[1,21]

slist= lst[:9]
s,f=0,2
while True:
    slist.extend(lst[9:][s:f])
    print(slist)
    s+=2
    f+=2
    if len(slist) >= len(lst):
        break

打印出来:

[1,11]
[1,13]
[1,15]
[1,17]
[1,19]
[1,20,21]

相关问答

依赖报错 idea导入项目后依赖报错,解决方案:https://blog....
错误1:代码生成器依赖和mybatis依赖冲突 启动项目时报错如下...
错误1:gradle项目控制台输出为乱码 # 解决方案:https://bl...
错误还原:在查询的过程中,传入的workType为0时,该条件不起...
报错如下,gcc版本太低 ^ server.c:5346:31: 错误:‘struct...