只需在中间对列表进行分区,并在这些分区之间添加您想要添加的号码:
>>> l = [1, 2, 3, 4]
>>> add = 5
>>> l[:len(l)//2] + [add] + l[len(l)//2:]
[1, 2, 5, 3, 4]
< code>Insert是一个聪明的选择,你也可以使用列表理解(切片)。
根据您要插入的不均匀项目列表的哪一边,您可能想要使用
lst = [1, 2, 3, 4, 7, 8, 9]
midpoint = len(lst)//2 # for 7 items, after the 3th
lst = lst[0:midpoint] + [5] + lst[midpoint:]
print (lst) # => [1, 2, 3, 5, 4, 7, 8, 9]
或者
lst = [1, 2, 3, 4, 7, 8, 9]
midpoint = len(lst)//2+1 # for 7 items, after the 4th
lst = lst[0:midpoint] + [5] + lst[midpoint:]
print (lst) # => [1, 2, 3, 4, 5, 7, 8, 9]
我在写一个背包问题的代码。有一个有重量容量的背包,你选择一个特定的项目组合,以找到最好的解决方案。我试图随机生成可能的解决方案。因此,我的代码将选择随机数量的随机项(生成一个随机大小的列表),并测试解决方案是否可行(小于容量)或不可行(大于容量)。然而,当我试图把所有物品的总重量和总价值相加时,这个数字是关闭的。比如说,这是每一项的数据。 10 27 72 所以值是不正确的。但我看不出我的代码有什
问题内容: 这个问题已经在这里有了答案 : 为什么+ =在列表上表现异常? (8个答案) 6年前关闭。 在尝试与列表不同的列表时,我注意到 例如: 在上面的代码中打印出了原始值 但是如果我在下面切换为 现在等于 价值不同的原因是什么? 问题答案: 为变量分配一个新值,同时 扩展 存储在变量中的列表。而且,由于中的列表与中的列表相同,因此附加到也会追加到,而为变量分配新值不会以任何方式更改分配给该值
我的目标是从用户输入的“AM”-“PM”字符串格式打印包含24小时十进制格式的进入和退出时间的列表,如以下字符串数组:{6AM#8AM,11AM#1PM,7AM#8PM,7AM#8AM,10AM#12PM,12PM#4PM,1PM#4PM,8AM#9AM} 我在for循环中声明了各个列表,并在循环中为它们赋值,但从代码中得到了以下运行时异常:java。lang.IndexOutOfBoundsEx
我试图添加一列到一个现有的表(mysql)对我laravel项目,但我有几个问题 我运行命令php artisan make:migration add_time_to_customers--table=customers这显然会创建我的新迁移模板 但是我在这个实例上有几个数据库,所以我担心这个新的迁移适用于正确的数据库和表?我已经检查了前面的一列添加迁移,我看到一个引用它需要改变的实际数据库?
问题内容: 如果想基于每个嵌套列表的第一个元素评估重复项,谁能提出一个好的解决方案从嵌套列表中删除重复项? 主列表如下所示: 如果已经在第一位置出现了另一个具有相同元素的列表,那么我想删除该列表并得到以下结果: 您可以建议一种算法来实现此目标吗? 问题答案: 您是否关心保留订单/删除了哪些重复项?如果不是,则: 会做的。如果您想保留订单并想保留第一个订单,则:
问题内容: 我非常确定应该有一种更Python化的方法来执行此操作-但我想不起来:如何将二维列表合并到一维列表中?有点像zip / map,但是有两个以上的迭代器。 示例-我有以下列表: 我希望有 到目前为止,我想出的是: 但这对我来说似乎不是很优雅/ Pythonic。除了不检查2D数组中的所有“线”是否都具有相同的长度,可以相互添加等等之外,还有什么更好的方法呢? 问题答案: