是否有用於Python 3.x的array_flip(php)模擬器?Python array_flip模擬或最好的方式來做到這一點?
從
obj = ['a', 'c', 'b' ]
到
{'a': 1, 'c':2, 'b': 3}
是否有用於Python 3.x的array_flip(php)模擬器?Python array_flip模擬或最好的方式來做到這一點?
從
obj = ['a', 'c', 'b' ]
到
{'a': 1, 'c':2, 'b': 3}
您可以使用與dict
構造沿列表解析如下:
>>> obj = [ 'a', 'c', 'b' ]
>>> dict((x, i + 1) for i, x in enumerate(obj))
{'a': 1, 'c': 2, 'b': 3}
正如評論指出的那樣,你可以也使用簡單的詞典理解:
>>> { x: i + 1 for i, x in enumerate(obj) }
{'a': 1, 'c': 2, 'b': 3}
您可以使用dict_comprehension而不是list_comprehension –
'enumerate'有一個'start'參數:'{x:i代表i,x代表枚舉(obj,start = 1)}'。 – Bakuriu
謝謝!好而簡單) – SlowSuperman
'{i:j + 1 for j,i in enumerate(obj)}' –
當你有兩個'a's時會發生什麼?最低的指數應該保留還是新的? – Bakuriu