草庐IT

sequence

全部标签

ios - 更新到 Swift 2.0 'map' 不可用 : call the 'map()' method on the sequence

代码来自一个名为ZLBalancedFlowLayout的github控件。(link)。我一直在尝试更新到Swift2.0,但出现此错误“‘map’不可用:在序列上调用‘map()’方法”。任何意见将是有益的。提前谢谢你。privatefunccollectionView(collectionView:UICollectionView,framesForItemsInSectionsection:Int,inoutupdateContentSizecontentSize:CGSize)->([CGRect],[CGFloat]){letmaxWidth=Float(scrollDir

【AI学习笔记】AttributeError: module ‘keras.preprocessing.sequence‘ has no attribute ‘pad_sequences‘

报错:AttributeError:module‘keras.preprocessing.sequence’hasnoattribute‘pad_sequences’看了许多博客,说是版本问题,我的版本都是2.11.0解决方法有的人说:将fromkeras.preprocessingimportsequence改为fromkeras_preprocessingimportsequence结果换了一个报错(然后找相关博客没找到解决方法,可能是我太菜了)有的人说:把fromkeras.preprocessing.sequenceimportpad_sequences改为fromkeras_prep

arrays - 按范围遍历数组

我有一个数组:[1,2,3,4,5,6...100]我希望以5为单位迭代这个数组,具体来说:取数组的前5个数字并取平均值,继续处理接下来的5个数字并取平均值,依此类推。我已经尝试了多种方法,例如Dequeue和for循环,但未能获得所需的结果。 最佳答案 您需要使用递增循环迭代每5个元素并使用reduce对子序列求和,然后将总数除以子序列元素数:letsequence=Array(1...100)varresults:[Double]=[]foridxinstride(from:sequence.indices.lowerBound

swift - 在 Swift 3 中返回序列

我有一个协议(protocol)Points,它的方法应该返回Point实例的有序序列。我可以返回一个数组,但我可以返回一些更通用的东西以便Points的实现不需要将数据复制到数组中吗?我试着这样做:protocolPoints{varpoints:Sequence{get}}但是得到错误:Protocol'Sequence'canonlybeusedasagenericconstraintbecauseithasSelforassociatedtyperequirements在较早的问题中,我读到了有关SequenceOf的内容,但这在Swift3中似乎不存在。这是Points协议(

swift - 将 Swift 中的 Dictionary 或 Generator 或 Sequence 转换为数组的优雅方法?

有没有一种优雅的方法可以将字典(或序列或生成器)转换为数组。我知道我可以通过如下所示循环遍历序列来转换它。vard=["foo":1,"bar":2]varg:DictionaryGenerator=d.generate()vara=Array()whileletitem=g.next(){a+=item}我希望有类似于Python的简单转换:>>>q=range(10)>>>i=iter(q)>>>i>>>z=list(i)>>>z[0,1,2,3,4,5,6,7,8,9]>>> 最佳答案 数组的+运算符将接受一个序列,因此您可以

swift - 全局函数序列(状态 :next:) and type inference

背景和细节Swift进化提案SE-0094在Swift3.0中实现,引入全局sequence函数:sequence(first:next:)sequence(state:next:)后者声明如下funcsequence(state:State,next:@escaping(inoutState)->T?)->UnfoldSequence并在swift/stdlib/public/core/UnfoldSequence.swift中实现.语言引用给出了以下使用它的示例(注意缺少显式类型注释)//Interleavetwosequencesthatyieldthesameelementty

arrays - Swift 3 - 使类可迭代

考虑我的两个类://Person.swiftclassPerson{varparents:Parents?//...}//Parents.swift.Onlyacollectionofparentswithsomehelpermethods.classParents{varparents=[Person]()//...}如何使用parents的迭代器让Parents在for循环中进行迭代。这不是真实世界的应用程序。我只是好奇。只是想使用forparentinmyParents而不是forparentinmyParents.parents。 最佳答案

快速序列变形

Swift的标准库是否包含listanamorphism对于Sequence或类似的东西?列表或序列上的变形与reduce相反功能。因此,它不会将序列折叠成单个值,而是向上构建序列。reduce接受一个初始值和一个用于将序列元素与此组合的函数,并返回一个最终值。它的签名看起来像这样(为了便于阅读而添加了换行符):publicfuncreduce(_initialResult:Result,_nextPartialResult:(Result,Self.Element)throws->Result)rethrows->Result序列的变形可能是这样的:funcinflate(_init

swift - 将对步骤使用除法的 C 样式 for 循环转换为 Swift 3

我有这个循环,在Swift2中按除法递减一个整数。forvari=128;i>=1;i=i/2{//dosomething}C风格的for循环已被弃用,那么如何将其转换为Swift3.0? 最佳答案 可以实现具有非恒定步幅的相当一般的循环与sequence:foriinsequence(first:128,next:{$0>=2?$0/2:nil}){print(i)}优点:循环变量i是常量,作用域是仅限于循环体。可能的缺点:必须调整终止条件(此处:$0>=2而不是i>=1),并且循环始终执行至少一次,对于第一个值。也可以编写一个类

arrays - Swift 中的 elementsEqual 和 '==' 有什么区别?

我正在浏览Swift标准库,我遇到了方法elementsEqual用于比较序列。我并没有真正看到这个函数的值(value),因为它只会在顺序完全相同时返回true。我想如果它能告诉我两个序列是否包含相同的元素,它们会有一些用处,它们只是碰巧处于不同的顺序,因为这会省去我自己排序的麻烦。这让我想到了我的问题:比较两个序列时,使用elementsEqual和'=='有什么区别吗?两者之间有优缺点吗?我在我的Playground上,编写了以下测试:让值=[1,2,3,4,5,6,7,8,9,10]让其他值=[1,2,3,4,5,6,7,8,9,10]值==其他值values.elements