list1 = ['SO', 'AE', 'AP']
list2 = ['NM', 'NV', 'OR']
我想从中创建一个字典,为每个列表添加定义的值,所以它应该是:
list1's value = 'Midwest'
list2's value = 'Northeast'
map = {
'SO': 'Midwest',
'AE': 'Midwest',
'AP': 'Midwest',
'NM': 'Northeast',
'NV': 'Northeast',
'OR': 'Northeast',
}
我是PySpark的新手,不知道如何解决它。
感谢
这里有一个例子。不过,这与Spark无关。
>>> list1 = ['SO', 'AE', 'AP']
>>> list2 = ['NM', 'NV', 'OR']
>>> dict1 = {k: "Midwest" for k in list1}
>>> dict1
{'SO': 'Midwest', 'AE': 'Midwest', 'AP': 'Midwest'}
>>> dict2 = {k: "Northeast" for k in list2}
>>> dict2
{'NM': 'Northeast', 'NV': 'Northeast', 'OR': 'Northeast'}
>>> dict3 = {**dict1, **dict2}
>>> dict3
{'SO': 'Midwest',
'AE': 'Midwest',
'AP': 'Midwest',
'NM': 'Northeast',
'NV': 'Northeast',
'OR': 'Northeast'}
或者,如果第dict3 = {**dict1, **dict2}
行给了您一个SyntaxError
(这意味着您使用的是一些非常旧的Python,即<3.5或2.x,它不再受支持(,您可以像这样合并dict:
>>> dict3 = dict1.copy()
>>> dict3.update(dict2)
>>> dict3
{'AP': 'Midwest',
'SO': 'Midwest',
'NM': 'Northeast',
'AE': 'Midwest',
'OR': 'Northeast',
'NV': 'Northeast'}