Python中文
首页
教程
问答
标签
搜索
登录
注册
python在预定义的位置将值从一个列表插入到另一个列表中
回答此问题可获得
20
贡献值,回答如果被采纳可获得
50
分。
<p>在Python(3.5)中,如果我有这样一个长列表:</p> <pre><code>long_list = ['0','1','0','1','0','0'.'0'.'1','1','0'] </code></pre> <p>一个短列表的长度等于长列表中“1”的数目,如下所示:</p> <pre><code>short_list = [8,7,6,5] </code></pre> <p>我该如何创建一个新的列表,将短列表中的值“插入”到长列表中的每个索引中,其中有一个“1”,并且为了一致性起见,将长列表中的“0”替换为一些数字(比如99)。你知道吗</p> <p>我可以用一个非常痛苦的for循环来完成这个任务,但是似乎应该有一种方法可以用列表理解来更有效地完成这个任务,不是吗?你知道吗</p> <pre><code># bad solution new_list = [] x = 0 for i in range(len(long_list)): if long_list[i] == '0': new_list.append(99) else: new_list.append(short_list[x]) x += 1 </code></pre> <p>期望输出:</p> <pre><code>new_list = [99,8,99,7,99,99,99,6,5,99] </code></pre>
0 条评论
分类:
Python问答
请先
登录
后评论
默认排序
时间排序
1 个回答
匿名
1天前
擅长:python、mysql、java
<p>不是说这是最好的方法,而是不需要新的变量。你知道吗</p> <pre><code>[99 if long_list[i] == '0' else short_list[long_list[:i].count('1')] for i in range(len(long_list))] </code></pre>
请先
登录
后评论
针对此问题:
更多的回答
关注
89
关注
收藏
1
收藏,
216
浏览
网友 提问于 2天前
相关Python问题
将Pandas数据帧转换为PyTorch张量?
8 回答
将Pandas数据帧转换为scipy稀疏矩阵
2 回答
将Pandas数据帧转换为Spark Datafram时出现问题
9 回答
将pandas数据帧转换为spark DataFram时出错
6 回答
将Pandas数据帧转换为spark datafram时收到错误
6 回答
将Pandas数据帧转换为Spark数据帧
7 回答
将Pandas数据帧转换为Tensorflow数据
10 回答
将Pandas数据帧转换为tkinter obj
1 回答
将pandas数据帧转换为XML
6 回答
将Pandas数据帧转换为值sql语句
2 回答
将pandas数据帧转换为元组
7 回答
将pandas数据帧转换为元组列表
4 回答
将pandas数据帧转换为元组列表并删除所有pandas数据类型
7 回答
将pandas数据帧转换为具有头和数据类型的numpy数组
2 回答
将pandas数据帧转换为内存中的拼花地板,并将其加载到Python中的Hadoop中
1 回答
将pandas数据帧转换为内存中类似文件的对象?
8 回答
将Pandas数据帧转换为内存功能(&F)
2 回答
将pandas数据帧转换为列表列表
5 回答
将pandas数据帧转换为列表列表以输入到RNN
1 回答
将Pandas数据帧转换为单行DataFram
1 回答