python - 这个生成器 for 循环的扩展形式是什么?
问题描述
我试图找出这个内联 for 循环的扩展形式。
from numpy import array
out_seq = array([in_seq1[i]+in_seq2[i] for i in range(len(in_seq1))])
形式中的等效表达式是什么
from numpy import array
for i in range(len(in_seq1)):
...
我假设我需要初始化out_seq = []
,在迭代时附加到它,最后转换为 numpyarray
类型(如out_seq = array(out_seq)
)?我尝试了几种不同的解决方案,但还没有任何效果。
解决方案
你已经接近了,但你不应该把它[]
放在一边out_seq
,因为它已经是一个列表。
out_list = []
for i in range(len(in_seq1)):
out_list.append(in_seq1[i]+in_seq2[i])
out_seq = array(out_list)
您还可以使用zip()
来避免两个输入序列的显式索引:
for x, y in zip(in_seq1, in_seq2):
out_list.append(x+y)
推荐阅读
- .net-core - FSharp得到错误:错误FS0192匿名记录<>f__AnonymousType在生成这个模块的前期没有生成
- javascript - AngularJS:为字符串字母表的前两个字符创建正则表达式,其余字符应为数字
- java - 使用 javafx 将其上传到数据库时,如何仅在组合框中显示选定的值
- python-3.x - 如何在 Swagger 中处理非必需参数以避免丢失位置参数错误?
- c# - 如何将数据从视图模型传递到?
- reactjs - document.getElementById(...).getElementsByTagName 不是函数
- google-closure-library - plovr 是否支持最新的闭包库?
- lc3 - 我如何输出用户输入字符串
- javascript - 如何在发送后立即从 RabbitMQ 中的队列中删除消息
- dart - 像 Excel 单元格一样的小部件(可以输入公式,显示的文本是公式的结果)?