首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >迭代扩展以从for循环(python)保存计算数据

迭代扩展以从for循环(python)保存计算数据
EN

Stack Overflow用户
提问于 2015-06-09 22:53:41
回答 1查看 159关注 0票数 0

我试图使用extend来保存循环迭代计算出来的数据。但是,我得到了错误'numpy.int64' object is not iterable

代码语言:javascript
运行
复制
x_hat1= commpy.channels.bsc(x[1],0.2)
Distance = []
for i in range(1, 6):
    Distance.extend(hamming_distance(x_hat1,x[i]))

因此,我尝试在扩展本身中添加循环,如下所示

代码语言:javascript
运行
复制
Distance.extend(value for i in range(1, 6), hamming_distance(x_hat1,x[i]))

但是我得到了错误Generator expression must be parenthesized if not sole argument。我检查了几次括号,它们是正确的。所以我不知道是怎么回事。

简单地说,我想找出一个向量和几个向量之间的hamming距离,并将其保存在“距离”列表中,以便以后使用。

谢谢

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-06-10 02:27:26

您的问题是extend需要一个list作为参数。如果您想使用普通的for循环,可以创建一个元素列表:

代码语言:javascript
运行
复制
x_hat1= commpy.channels.bsc(x[1],0.2)
Distance = []
for i in range(1, 6):
    Distance.extend([hamming_distance(x_hat1,x[i])])

或者使用append而不是extend:Distance.append(hamming_distance(x_hat1,x[i]))

如果要使用隐式for循环(如第二种情况),则只需重新构造语句即可。

对I的引用应该在隐式循环之前

Distance.extend(hamming_distance(x_hat1,x[i]) for i in range(1, 6))

这些选项中的任何一种都会奏效,这取决于你喜欢哪一种。(就我个人而言,隐式循环是我最喜欢的。这是一个单线线,更不用说比直通循环更多的琵琶了。)

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

关于list.extend与python中的list.append函数的更多信息(因为这是您的主要困惑):

附录:

将单个对象追加到列表的末尾

示例:

代码语言:javascript
运行
复制
 >>myList = [1,2,3]
 >>myList.append(4)
 >>myList
 [1,2,3,4]

,但不应使用添加整个元素列表

代码语言:javascript
运行
复制
 >>myList = [1,2,3]
 >>myList.append([4,5,6])
 >>myList
 [1,2,3,[4,5,6]]

更多信息/示例:append.htm

展期:

通过对传递列表的每个元素使用list.append扩展列表

示例:

代码语言:javascript
运行
复制
 >>myList = [1,2,3]
 >>myList.extend(4)
 >>myList
 [1,2,3,4,5,6]

,但如果在单个元素上使用,则会引发错误

代码语言:javascript
运行
复制
 >>myList = [1,2,3]
 >>myList.extend(4)
 Type Error: 'int' object is not iterable

要扩展单个元素,需要创建一个1项列表:myList.extend([4])

更多信息/示例:extend.htm

关于差异的更多信息: append vs. extend

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/30744203

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档