[PYTHON] 사전 조회를 사용하여 목록의 요소를 대체하는 방법
PYTHON사전 조회를 사용하여 목록의 요소를 대체하는 방법
이 목록이 주어진다.
my_lst = ['LAC', 'HOU', '03/03 06:11 PM', '2.13', '1.80', '03/03 03:42 PM']
사전 값에 따라 0 번째와 1 번째 값을 변경하고 싶습니다.
def translate(my_lst):
subs = {
"Houston": "HOU",
"L.A. Clippers": "LAC",
}
목록은 다음과 같이됩니다.
['L.A. Clippers', 'Houston', '03/03 06:11 PM', '2.13', '1.80', '03/03 03:42 PM']
해결법
-
==============================
1.모든 값이 고유 한 경우 효율적인 솔루션을 얻으려면 먼저 사전을 뒤집어서 사용해야합니다.
모든 값이 고유 한 경우 효율적인 솔루션을 얻으려면 먼저 사전을 뒤집어서 사용해야합니다.
>>> subs = { ... "Houston": "HOU", ... "L.A. Clippers": "LAC", ... ... } >>> rev_subs = { v:k for k,v in subs.iteritems()} >>> [rev_subs.get(item,item) for item in my_lst] ['L.A. Clippers', 'Houston', '03/03 06:11 PM', '2.13', '1.80', '03/03 03:42 PM']
선택한 인덱스 만 업데이트하려고하는 경우 다음을 시도하십시오.
indexes = [0, 1] for ind in indexes: val = my_lst[ind] my_lst[ind] = rev_subs.get(val, val)
-
==============================
2.값이 고유하면 다음과 같이 사전을 바꿀 수 있습니다.
값이 고유하면 다음과 같이 사전을 바꿀 수 있습니다.
subs = {v:k for k, v in subs.iteritems()}
그런 다음 .get ()을 사용하여 키가 사전에없는 경우 두 번째 매개 변수와 함께 사전에서 값을 가져올 수 있습니다.
print map(subs.get, my_lst, my_lst)
인쇄물:
['L.A. Clippers', 'Houston', '03/03 06:11 PM', '2.13', '1.80', '03/03 03:42 PM']
-
==============================
3.dict를 뒤집은 다음 목록의 처음 두 요소에 조회를 적용하면됩니다.
dict를 뒤집은 다음 목록의 처음 두 요소에 조회를 적용하면됩니다.
subs = { "Houston": "HOU", "L.A. Clippers": "LAC", } my_lst = ['LAC', 'HOU', '03/03 06:11 PM', '2.13', '1.80', '03/03 03:42 PM'] my_lst[:2] = map(dict(zip(subs.values(), subs)).get, my_lst[:2]) print my_lst
from https://stackoverflow.com/questions/17295776/how-to-replace-elements-in-a-list-using-dictionary-lookup by cc-by-sa and MIT license
'PYTHON' 카테고리의 다른 글
[PYTHON] 나누기에 사용할 때 '/'와 '//'의 차이점은 무엇입니까? (0) | 2018.11.13 |
---|---|
[PYTHON] 파이썬 컴파일 된 확장 기능을위한 PyCharm 자동 완성 (0) | 2018.11.13 |
[PYTHON] 팬더 / 데이터 프레임을 사용하여 가중 평균 계산 (0) | 2018.11.13 |
[PYTHON] 장고에서 FileField 로컬 파일을 할당하는 방법? (0) | 2018.11.13 |
[PYTHON] WCF와 파이썬 (0) | 2018.11.12 |