どうも、ちょげ(@chogetarou)です。
辞書(Dictionary)の要素同士を結合して文字列に変換する方法を紹介します。
方法

辞書(Dictionary)の要素同士を結合して文字列に変換する方法は、3つあります。
キー(key)同士を結合
1つ目は、キー(key)同士を結合する方法です。
まず、辞書のkeysにアクセスします。
keysの結果からjoined()を呼び出します。
そして、joined()の引数「separator」に区切り文字を指定します。
//dict=対象の辞書, sep=区切り文字
let result = dict.keys.joined(separator: sep)
上記のjoined()は、辞書のキーを結合した文字列に変換します。
使用例
import Foundation
let nums = [
"one": 1,
"two": 2,
"three": 3,
"four": 4,
"five": 5
]
let result = nums.keys.joined(separator: ", ")
print(result)
出力:
four, one, two, three, five
値(value)同士を結合
2つ目は、値(value)同士を結合する方法です。
まず、辞書のvaluesにアクセスします。
valuesの結果からjoined()を呼び出します。
そして、joined()の引数「separator」に区切り文字を指定します。
//dict=対象の辞書, sep=区切り文字
let result = dict.values.joined(separator: sep)
上記のjoined()は、辞書の値(value)を結合した文字列に変換します。
使用例
import Foundation
let nums = [
"one": "いち",
"two": "に",
"three": "さん",
"four": "よん",
"five": "ご"
]
let result = nums.values.joined(separator: ", ")
print(result)
出力:
さん, いち, に, よん, ご
キーと値を一緒に結合
3つ目は、キーと値を一緒に結合する方法です。
まず、辞書からmap()を呼び出します。
map()のクロージャーで、キーと値をまとめた文字列を返します。
(mapのクロージャでは、第1引数でキー、第2引数で値を取得)
そして、map()からjoined()を呼び出します。
joined()の引数「separator」に区切り文字を指定します。
//ditc=対象の辞書, strItem=キーと値をひとつにまとめた文字列, sep=区切り文字
let result = dict.map{ a, b in strItem}.joined(separator: sep)
上記のmap()は、対象の辞書のキーと値を一緒に結合した文字列に変換します。
使用例
import Foundation
let nums = [
"one": 1,
"two": 2,
"three": 3,
"four": 4,
"five": 5
]
let result = nums.map{ a, b in "\(a)=\(b)"}.joined(separator: ", ")
print(result)
出力:
four=4, three=3, five=5, one=1, two=2
まとめ
辞書(Dictionary)の要素同士を結合して文字列に変換する方法は、次の3つです。
- キー(key)同士を結合する方法
let result = dict.keys.joined(separator: sep)
- 値(value)同士を結合する方法
let result = dict.values.joined(separator: sep)
- キーと値を一緒に結合する方法
let result = dict.map{ a, b in strItem}.joined(separator: sep)
コメント