热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

迅速。如何遍历字典值:vara:[String:[String]]?

我需要使用for循环遍历Dictionary值(值数组)。和在每个数组中以相反的顺序排序。

我需要使用for循环遍历Dictionary值(值=数组)。和
在每个数组中以相反的顺序排序。我该怎么办?

var a: [String : [String]]

预期结果如下:

["C": ["Camilla","Cecelia","Colette"],"B": ["Ben","Bob"],"A": ["Alex","Andy"]]

UPD:

我有功能:

func someFunc(array: [String]) -> [String : [String]] {
let groupedDictiOnary= Dictionary (grouping: array,by: { String($0.first!) }nc).filter{ $0.value.count > 1 }

我有一些数组:

var array = ["Camilla","Andy","Bob","Ben","Alex","Colette","Camilla"]


一旦通过分组从数组中创建了字典,就可以使用for循环来过滤大小和排序

func someFunc(array: [String]) -> [String : [String]] {
let groupedDictiOnary= Dictionary (grouping: array,by: { String($0.first!) })
var result: [String: [String]] = [:]
for (key,value) in groupedDictionary {
if value.count > 1 {
result[key] = value.sorted(by: >)
}
}
return result
}

,

字典没有顺序,但是您可以对键进行排序

var arr = Array(dic.keys)
arr.sort(by:>)

然后使用arr

访问字典
,

您可以这样做

let dictInitial = [ "A": ["Alex","Andy"],"C": ["Camilla","Cecelia","Colette"],"B": ["Ben","Bob"]]
let keys = Array(dictInitial.keys).sorted(by: >)
// get values
for key in keys {
print("KEY:",key,"VALUES :",dictInitial[key]!)
}

输出:

KEY: C VALUES : ["Camilla","Colette"]
KEY: B VALUES : ["Ben","Bob"]
KEY: A VALUES : ["Alex","Andy"]

,

@freddyK首先,您的someFunc代码中存在逻辑错误。您必须首先增强它,因为只有两个对象具有相同的字母时,它才会创建一个组。应该像{ $0.value.count > 0 }

以下代码段可以为您提供帮助。

let objDict = someFunc(array: ["Zoro","Camilla","Andy","Bob","Ben","Alex","Colette","Camilla"])
let sortedDic = objDict.sorted { (aDic,bDic) -> Bool in
return aDic.key > bDic.key
}
print(sortedDic)

,

@freddyk您的更新问题是部分正确的。您只需要按字典键的降序对字典进行排序即可。但您需要将字典格式从[string:[string]]更改为[(key: String,value: [String])]
两者相同,但是swift与数据类型高度相关,这就是为什么我们不能转换它的原因

var a: [String] = ["Ben","Alex"]
func someFunc(array: [String]) -> [(key: String,value: [String])] {
let groupDict = Dictionary (grouping: array,by: { String($0.first!) }).sorted { (str1,str2) -> Bool in
return str1.key.compare(str2.key) == .orderedDescending
}
return groupDict
}
let groupedDictiOnary= someFunc(array: a)
print(groupedDictionary)

所以它的输出将如下所示

输出:[(键:“ C”,值:[“ Camilla”,“ Cecelia”,“ Colette”]),(键:“ B”,值:[“ Ben”,“ Bob” ]),(键:“ A”,值:[“ Andy”,“ Alex”])]


推荐阅读
  • 第六章:枚举类型与switch结构的应用分析
    第六章深入探讨了枚举类型与 `switch` 结构在编程中的应用。枚举类型(`enum`)是一种将一组相关常量组织在一起的数据类型,广泛存在于多种编程语言中。例如,在 Cocoa 框架中,处理文本对齐时常用 `NSTextAlignment` 枚举来表示不同的对齐方式。通过结合 `switch` 结构,可以更清晰、高效地实现基于枚举值的逻辑分支,提高代码的可读性和维护性。 ... [详细]
  • 来自FallDream的博客,未经允许,请勿转载,谢谢。一天一套noi简直了.昨天勉强做完了noi2011今天教练又丢出来一套noi ... [详细]
  • java datarow_DataSet  DataTable DataRow 深入浅出
    本篇文章适合有一定的基础的人去查看,最好学习过一定net编程基础在来查看此文章。1.概念DataSet是ADO.NET的中心概念。可以把DataSet当成内存中的数据 ... [详细]
  • 题面:P3178[HAOI2015]树上操作好像其他人都嫌这道题太容易了懒得讲,好吧那我讲。题解:第一个操作和第二个操作本质上是一样的&# ... [详细]
  • 使用 ModelAttribute 实现页面数据自动填充
    本文介绍了如何利用 Spring MVC 中的 ModelAttribute 注解,在页面跳转后自动填充表单数据。主要探讨了两种实现方法及其背后的原理。 ... [详细]
  • egg实现登录鉴权(七):权限管理
    权限管理包含三部分:访问页面的权限,操作功能的权限和获取数据权限。页面权限:登录用户所属角色的可访问页面的权限功能权限:登录用户所属角色的可访问页面的操作权限数据权限:登录用户所属 ... [详细]
  • [译]  OS X 和 iOS 的测绘框架Core Plot 入门教程
    [译] OS X 和 iOS 的测绘框架Core Plot 入门教程 ... [详细]
  • 我正在尝试获取日历事件和提醒,但有些却不返回事件,提醒,日历,事件源的 ... [详细]
  • 本文档旨在提供C语言的基础知识概述,涵盖常量、变量、数据类型、控制结构及函数定义等内容。特别强调了常量的不同类型及其在程序中的应用,以及如何正确声明和使用函数。 ... [详细]
  • Hadoop集群搭建:实现SSH无密码登录
    本文介绍了如何在CentOS 7 64位操作系统环境下配置Hadoop集群中的SSH无密码登录,包括环境准备、用户创建、密钥生成及配置等步骤。 ... [详细]
  • 本文介绍了在Visual C++环境中通过编程实现鼠标移动及点击的具体方法,包括获取鼠标当前位置、移动鼠标至指定位置并执行点击等操作。 ... [详细]
  • 本文由chszs撰写,详细介绍了Apache Mina框架的核心开发流程及自定义协议处理方法。文章涵盖从创建IoService实例到协议编解码的具体步骤,适合希望深入了解Mina框架应用的开发者。 ... [详细]
  • 开发技巧:在Interface Builder中实现UIButton文本居中对齐的方法与步骤
    开发技巧:在Interface Builder中实现UIButton文本居中对齐的方法与步骤 ... [详细]
  • 解决UIBarButtonItem 边缘显示异常的问题分析与优化方案
    在iOS开发中,针对UIBarButtonItem边缘显示异常的问题进行了深入分析,并提出了一系列优化方案。通过自定义视图和调整布局约束,有效解决了按钮在不同设备和屏幕尺寸下的显示问题,提升了用户体验。具体方法包括使用AutoLayout进行动态调整,以及对按钮的内边距和外边距进行精细控制,确保按钮在各种场景下都能保持良好的视觉效果。 ... [详细]
  • PyThon_Swift 势必取代 Python?
    篇首语:本文由编程笔记#小编为大家整理,主要介绍了Swift势必取代Python?相关的知识,希望对你有一定的参考价值。 ... [详细]
author-avatar
万万558
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有