我有一个字典数组,它是这样设置的:
var tableViewData: [Dictionary<String, String>] = []
如果我打印tableViewData,它如下所示:
[["End Time": "01:31 PM", "Date": "09-25-2019", "Duration": "23", "Start Time": "01:08 PM"], ["Start Time": "01:31 PM", "End Time": "01:54 PM", "Duration": "23", "Date": "09-25-2019"]]
我想让它看起来像这样:
Date, Start Time, End Time, Duration
09-25-2019, 01:08 PM, 01:31 PM, 23
09-25-2019, 01:31 PM, 01:54 PM, 23
您应该对数据进行结构化,并使其符合CODABLE。
Xcode 11•Swift 5.1
struct Event: Codable {
let date, startTime, endTime, duration: String
private enum CodingKeys: String, CodingKey {
case date = "Date", startTime = "Start Time", endTime = "End Time", duration = "Duration"
}
}
然后,您可以简单地创建只读计算属性,以便从事件集合中创建自定义字符串:
extension Collection where Element == Event {
var csv: String {
"Date, Start Time, End Time, Duration\n" +
map {"\($0.date), \($0.startTime), \($0.endTime), \($0.duration)\n"}.joined()
}
}
let tableViewData = [["End Time": "01:31 PM", "Date": "09-25-2019", "Duration": "23", "Start Time": "01:08 PM"], ["Start Time": "01:31 PM", "End Time": "01:54 PM", "Duration": "23", "Date": "09-25-2019"]]
do {
let data = try JSONSerialization.data(withJSONObject: tableViewData)
let events = try JSONDecoder().decode([Event].self, from: data)
print(events.csv)
} catch {
print(error)
}
09-25-2019,下午01:31,01:54,23
1、什么是 dict(字典) 上一章节,我们学习了列表(List) 和 元组(tuple) 来表示有序集合。 而我们在讲列表(list)的时候,我们用了列表(list) 来存储用户的姓名。 name = ['一点水', '两点水', '三点水', '四点水', '五点水'] 那么如果我们为了方便联系这些童鞋,要把电话号码也添加进去,该怎么做呢? 用 list 可以这样子解决: name = [[
问题内容: 在Python上进行迭代时从字典中删除项目是否合法? 例如: 这个想法是从字典中删除不满足特定条件的元素,而不是创建一个新字典,该字典是正在迭代的字典的子集。 这是一个好的解决方案吗?有没有更优雅/更有效的方法? 问题答案: 此答案不适用于,并且会给出。 :字典在迭代过程中更改了大小。 发生这种情况是因为返回的是迭代器而不是列表。正如评论中指出的那样,只需将其转换为列表即可,它应该可以
问题内容: 在Python上进行迭代时从字典中删除项目是否合法? 例如: 这个想法是从字典中删除不满足特定条件的元素,而不是创建一个新字典,该字典是正在迭代的字典的子集。 这是一个好的解决方案吗?有没有更优雅/更有效的方法? 问题答案: 此答案不适用于,并且会给出。 :字典在迭代过程中更改了大小。 发生这种情况是因为返回的是迭代器而不是列表。正如评论中指出的那样,只需将其转换为列表即可,它应该可以
字典是另一种可变容器模型,且可存储任意类型对象。 字典的每个键值(key=>value)对用冒号(:)分割,每个对之间用逗号(,)分割,整个字典包括在花括号({})中 ,格式如下所示: d = {key1 : value1, key2 : value2 } 键必须是唯一的,但值则不必。 创建字典: 1.创建空字典 变量 = {} 或者 变量 = dict() 2.创建多个元素的字典:
问题内容: 假设我们有一个Python字典,我们正在像这样迭代它: (并且仅仅是一些黑盒转换。) 换句话说,我们尝试在使用对其进行迭代的同时向其中添加/删除项目。 这个定义好吗?您能否提供一些参考来支持您的答案? (很明显,如果损坏了该如何解决,所以这不是我所追求的角度。) 问题答案: 在python文档页面(针对2.7)上明确提到了 使用而添加或删除字典条目可能会产生一种或无法遍历所有条目。 对
问题内容: 我在玩苹果的新 Swift 编程语言,遇到了一些问题… 当前,我正在尝试读取plist文件,在Objective-C中,我将执行以下操作以将内容作为NSDictionary获取: 如何在Swift中将plist作为字典? 我假设我可以通过以下方式获取plist的路径: 当这可行时(如果正确的话):如何将内容作为字典? 还有一个更笼统的问题: 是否可以使用默认的 NS ** 类?我想是…