Pyspark-从两个键列表创建一个字典,为列表添加定义的值


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'}

最新更新