错误:在reduce函数上传递的不可变值

2023-11-21

我正在尝试执行以下代码,将元组数组转换为字典,但收到一条编译错误:

“[String : String]”类型的不可变值仅具有名为“updateValue”的可变成员

var array = [("key0", "value0"), ("key1", "value1")]
var initial = [String: String]()
var final = array.reduce(initial) { (dictionary, tuple) in
    dictionary.updateValue(tuple.0, forKey: tuple.1)
    return dictionary
}

为什么会这样如果initial被宣布为var?这有关系吗@无处可逃 on reduce's签名?

func reduce<U>(initial: U, combine: @noescape (U, T) -> U) -> U

你可以简单地使dictionary参数可变,前面加上var:

var final = array.reduce(initial) { (var dictionary, tuple) in
                                     ^^^

但请注意,使用reduce每次迭代都会创建一个新字典,使得算法效率非常低。您可能需要考虑使用传统的 foreach loop

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

错误:在reduce函数上传递的不可变值 的相关文章

  • JAVA:如何搜索地图?

    我有一个 Map 其键为字符串 其值为集合 包含整数 假设我的钥匙看起来像 苹果 香蕉 橙色 等 用户输入文本 我将其保存为字符串变量 如何在我的地图中搜索相同的密钥 因此 如果用户输入 apple 我如何将该字符串提供给方法并让该方法在我
  • 如何防止Apple Watch进入睡眠状态?

    我们正在开发一个 Apple Watch 项目 但如果不被打扰 手表就会进入睡眠状态 有什么办法可以阻止它进入睡眠状态吗 据我所知和有关该主题的其他搜索 目前还没有api可通过编程方式启用或禁用 Apple Watch 的睡眠模式
  • 将 NumPy 数组按元素映射到更多维度的数组

    我想要地图anumpy array从 NxM 到 NxMx3 其中三个元素的向量是原始条目的函数 lambda x f1 x f2 x f3 x 然而 像这样的事情numpy vectorize不允许改变尺寸 当然 我可以创建一个零数组并进
  • iOS 中的构建对象文件扩展名是什么?

    当我在项目中构建java对象类时 将创建带有 class扩展名的构建文件 并且人类不可读 快速构建文件怎么样 example car java gt build gt car class 构建后会是什么 car swift gt build
  • Swift 3 中是否提供内置内部函数?

    我可以在 Xcode 自动完成弹出窗口中看到各种内置函数 如 builtin popount builtin clz 等 我不确定这些是从哪里获取的 单击命令不会导致快速定义或任何文档 Swift 3 中是否有 builtin 或等效的内部
  • 无法理解 Java 地图条目集

    我正在看一个 java 刽子手游戏 https github com leleah EvilHangman blob master EvilHangman java https github com leleah EvilHangman b
  • Python:在字典中查找具有唯一值的键?

    我收到一个字典作为输入 并且想要返回一个键列表 其中字典值在该字典的范围内是唯一的 我将用一个例子来澄清 假设我的输入是字典 a 构造如下 a dict a cat 1 a fish 1 a dog 2 lt unique a bat 3
  • 如何快速更改按钮图像?

    我正在开发一个有按钮的应用程序 该按钮没有文本 图像或背景 所以我想做的就是在viewDidLoad函数中给它一个图像 这就是我所拥有的 IBOutlet var tapButton UIButton override func viewD
  • 如何使用正则表达式将字符串分成相同字符的组?

    我有一个这样的字符串 var string AAAAAAABBBCCCCCCDD 并喜欢将字符串分割成这种格式的数组 same characters gt same group 使用正则表达式 Array AAAAAAA BBB CCCCC
  • Swift - 选择值后隐藏 pickerView

    我发现了类似的问题 他们的答案很有帮助 但我坚持最后一件事 我试图在点击字段时显示 pickerView 然后选择数据时 我希望 pickerView 隐藏 我可以从 pickerView 获取数据来隐藏 但是 pickerView 后面仍
  • 迭代 NSOrderedSet

    我正在尝试迭代 NSOrderedSet 的实例 像这样的事情 func myFunc var orderedSet NSOrderedSet array 42 43 44 for n in orderedSet NSLog i n 但是
  • Swift 中带圆角的 NSWindow

    我想要一个圆角的窗户 但我在每个角落都有一个白点 Code let effect NSVisualEffectView frame NSRect x 0 y 0 width 0 height 0 effect blendingMode be
  • 在 Swift 中自动移动 UISlider

    我想在按下按钮时将 UISlider 从 minValue 循环移动到 maxValue 并在再次按下按钮时将其停止在当前位置 我想使用 Swift 我遇到的主要问题是函数 slider setValue 太快了 我希望动画更慢 IBAct
  • 如何使用 Swift 获取 YouTube 频道的所有播放列表?

    我的问题不是关于从一般频道检索视频 我只想获取该频道创建的所有 播放列表 并检索每个播放列表的缩略图 标题和视频数量 这是一个 YouTube 频道示例 正如您所看到的 有很多已创建的播放列表 截至目前 我只能获取某个频道最新上传的视频 在
  • 无法转换“UINavigationController”类型的值

    我正在为我的应用程序实现一个搜索界面 因此基本上我会将搜索关键字从一个 ViewController 传递到另一个 ViewController 我已经多次进行过这种类型的参数传递 但这次似乎有些奇怪 目标 ViewController 嵌
  • 将数字分解为单个数字的数组

    如果我有整数 123 并且我想将数字分解为数组 1 2 3 最好的方法是什么 我已经搞乱了很多 并且我有以下工作 var number 123 var digits Array String number map Int strtoul S
  • Xcode 9 中的“addingPercentEncoding”是否损坏?

    在 Swift 3 x 和 Xcode 9 beta 2 中 使用addingPercentEncoding https developer apple com documentation swift string 1690785 addi
  • 创建嵌套字典单行

    您好 我有三个列表 我想使用一行创建一个三级嵌套字典 i e l1 a b l2 1 2 3 l3 d e 我想创建以下嵌套字典 nd a 1 d 0 e 0 2 d 0 e 0 3 d 0 e 0 b a 1 d 0 e 0 2 d 0
  • 退出导航控制器

    我试图离开初始视图控制器 并进入空白视图控制器 这很好 但是这会使空白视图控制器也成为导航控制器的一部分 这不是我想要的 我想脱离视图控制器 在视图控制器中 我尝试退出 它会自行弹出 当我尝试视图中的方法时 将出现目标视图控制器 self
  • 在 Javascript 中减少/分组数组

    基于this https stackoverflow com a 40774906 3254598例如 我想以稍微不同的方式按对象进行分组 结果应该如下 key audi items make audi model r8 year 2012

随机推荐

  • Pandas - 样式 - 使用其他数据框的背景渐变

    我喜欢使用background gradient 因为它可以帮助我以 Excel 的方式查看数据帧 但我想知道是否有一种方法可以将颜色映射到另一个数据框中的数字 例如 我热衷于使用 zscores 数据框为数据框着色 这样我就可以快速看到异
  • Electron Dialog 不保存文件

    电子版 1 3 3操作系统 乌班图14 04 我想用 Electron 将 XML 对象保存到 xml 文件中 我试试这个 const dialog require electron remote dialog showSaveDialog
  • 我应该在我的开发电脑上安装哪个版本的 Windows 7?

    我是 net 和 java 开发者 我订阅了 MSDN 可以访问所有版本的 Windows 7 操作系统 我要进行 64 位安装 我应该在我的开发 PC 上安装哪个版本的 Windows 7 Professional Ultimate En
  • 为什么语言不允许通过返回值重载方法?

    c java等很多语言都不注重返回值 int i func float f func int func return 5 float func return 1 3 为什么以上不合法 这是否会增加编程的难度 int i func func
  • IPython Notebook区域设置错误[重复]

    这个问题在这里已经有答案了 安装最新版本后Mac OSX 64 位 Anaconda Python 发行版 当我尝试启动 IPython Notebook 时 我不断收到 ValueError 启动 ipython 工作正常 3 mille
  • 在 Java 中使用 Scala 2.10.1 值类型

    我正在将 2 9 项目更新到 2 10 我有几个基本类型 角度 长度等 的类 看起来它们是值类型的完美候选者 不幸的是 我使用这些类型的 Java 代码无法编译 我不明白为什么 我已将其简化为一组非常简单的代码 任何建议将不胜感激 角度类定
  • 如何在 MacOS 上的 python 构建中包含 ssl

    在 MacOS 上从源代码构建 python 时 我不小心覆盖了 MacOS 附带的 python 现在它没有 SSL 我尝试通过运行再次构建 with ssl option configure with ssl 但当我随后跑时make 它
  • 将 feDropShadow 添加到 SVG 中的垂直线使其消失

    我有以下 SVG 文档
  • 以编程方式从 Exchange Outlook 联系人获取 Internet 电子邮件地址?

    我正在尝试从连接 Exchange 的 Outlook 读出 Internet 格式的地址 我从 Outlook 联系人中读取了所有联系人 即不是从全局通讯簿 GAB 中读取的 问题是对于存储在 Exchange GAB 中的联系人中的所有
  • jQuery:如何检测给定元素内的 html 是否已更改?

    在 javascript 中 可能使用 jQuery 如何检测给定元素的 html 内容是否已更改 我希望能够做类似的事情 myDiv change function do some stuff 我基本上试图检测给定元素是否被添加到 div
  • 如何通过“下拉并释放”手势刷新 UIWebView?

    我知道这在 iPhone 版 Tweetie 或 xkcd iPhone 应用程序中是可能的 但他们使用的是表格 知道这是否可以通过简单的方式完成UIWebView还有 我知道 Javascript 建议这个问题 但是本地制作怎么样 要检索
  • 在 mysql 中过滤别名

    为什么以下查询不起作用 Mysql 抱怨 z 我不能在 WHERE 子句中使用别名吗 SELECT x y AS z t FROM t WHERE x 1 and z 2 我得到的错误是 Error Code 1054 Unknown co
  • Ruby strftime '%Z' 方法返回 '0545' 而不是 'NPT'

    将我的 MacOS 升级到最新版本后 我在使用 Time strftime 方法时遇到一些奇怪的问题 Time now in time zone Kathmandu strftime Z gt 0545 Time now in time z
  • 增加IP地址

    在该程序中我想增加IP地址 我看到这样的输出 125 23 45 67 126 23 45 67 127 23 45 67 128 23 45 67 129 23 45 67 130 23 45 67 131 23 45 67 132 23
  • 连接字符串最有效的方法?

    连接字符串最有效的方法是什么 里科 马里亚尼 NET 性能大师一篇文章关于这个主题 这并不像人们想象的那么简单 基本建议是这样的 如果你的模式看起来像 x f1 f2 f3 f4 这是一个连接 而且速度很快 StringBuilder 可能
  • 组织编程竞赛 - Howto 编译和执行

    我正在构建一个基于 Web 的界面 人们可以在其中输入简单的 C 代码来解决算法编程问题 我正在使用 Ace 编辑器 人们可以在其中输入代码 当按下运行按钮时 C 代码将被发送到服务器 进行编译并发送回输出 如何以安全的方式完成第二部分 我
  • 如何使用 Java EE 7 WebSockets 实现向客户端推送?

    我浏览了很多 Web Socket 示例 演示幻灯片 它们大多集中在相当简单的场景上 其中客户端与服务器之间的通信由客户端发起 我对另一种场景感兴趣 它似乎同样实用 纯粹的服务器推送到客户端 我想到的示例是一个更新网站上股票价值的应用程序
  • 最广泛使用的 C++ 向量/矩阵数学/线性代数库是什么,以及它们的成本和收益权衡? [关闭]

    Closed 此问题正在寻求书籍 工具 软件库等的推荐 不满足堆栈溢出指南 目前不接受答案 似乎许多项目慢慢地需要进行矩阵数学 并陷入首先构建一些向量类并慢慢添加功能的陷阱 直到他们发现构建了一个半途而废的自定义线性代数库 并依赖它 我想避
  • 如何制作一个简单的PHP应用程序从heroku cedar堆栈发送电子邮件?

    我有一个非常简单的 php 网站 有一个使用 php mail 函数发送电子邮件的联系表单 我怎样才能在heroku上托管这个 我应该使用哪个附加组件 如何将其设置为与 php 一起使用 这是我为解决同样的问题所做的 1 您需要使用自定义构
  • 错误:在reduce函数上传递的不可变值

    我正在尝试执行以下代码 将元组数组转换为字典 但收到一条编译错误 String String 类型的不可变值仅具有名为 updateValue 的可变成员 var array key0 value0 key1 value1 var init