programing

Python 사전 값 바꾸기

javajsp 2023. 5. 9. 22:06

Python 사전 값 바꾸기

저는 20,000개 이상의 항목이 있는 사전을 가지고 있습니다. 현재는 단순히 고유한 단어와 해당 단어가 원문에 사용된 횟수(이탈리아어로 단테의 신성한 코미디).

모든 항목에서 값을 실제 정의로 바꾸는 작업을 수행하고 싶습니다.(의미를 조사하면서) 대체하기 위해 값으로 숫자가 있는 키워드를 반복하는 간단한 방법이 있습니까?

사전이 시작됩니다.

{'corse': 378, 'cielo,': 209, 'mute;': 16, 'torre,': 11, 'corsa': 53, 'assessin': 21, 'corso': 417, 'Tolomea': 21}  # etc.

연구하고 정의할 키워드를 제안하는 일종의 응용 프로그램입니다.

dict.update() 함수를 통해

선언적 솔루션이 필요한 경우 를 사용하여 딕트의 값을 변경할 수 있습니다.

다음 중 하나:

my_dict.update({'key1': 'value1', 'key2': 'value2'})

이런 식으로.

my_dict.update(key1='value1', key2='value2')

사전의 포장을 뜯어서.

Python 3.5 이후에는 사전 압축 풀기를 사용할 수도 있습니다.

my_dict = { **my_dict, 'key1': 'value1', 'key2': 'value2'}

참고: 새 사전이 만들어집니다.

병합 연산자 또는 업데이트 연산자를 통해

Python 3.9부터는 사전에서도 병합 연산자를 사용할 수 있습니다.

my_dict = my_dict | {'key1': 'value1', 'key2': 'value2'}

참고: 새 사전이 만들어집니다.

또는 업데이트 연산자를 사용할 수 있습니다.

my_dict |= {'key1': 'value1', 'key2': 'value2'}

특정 값(또는 값 유형)은 선택할 수 없습니다.역색인(숫자를 (키 목록에) 다시 매핑)하거나 모든 값을 매번 반복해서 표시해야 합니다.

임의의 순서로 숫자를 처리하는 경우 모든 항목을 반복 처리할 수 있습니다.

for key, value in inputdict.items():
    # do something with value
    inputdict[key] = newvalue

그렇지 않으면 역색인으로 하겠습니다.

from collections import defaultdict

reverse = defaultdict(list)
for key, value in inputdict.items():
    reverse[value].append(key)

이제 값별로 키를 조회할 수 있습니다.

for key in reverse[value]:
    inputdict[key] = newvalue

만약 당신이 사전을 반복한다면 당신은 키를 얻을 것입니다, 그래서 당신의 사전이 다음과 같은 변수에 있다고 가정합니다.data그리고 당신은 약간의 기능을 가지고 있습니다.find_definition()다음과 같은 작업을 수행할 수 있습니다.

for word in data:
    data[word] = find_definition(word)

이것이 당신의 문제를 해결하는 데 도움이 될 수 있다고 생각합니다.

다음과 같은 사전이 있다고 상상해 보십시오.

dic0 = {0:"CL1", 1:"CL2", 2:"CL3"}

다음을 통해 값을 변경할 수 있습니다.

dic0to1 = {"CL1":"Unknown1", "CL2":"Unknown2", "CL3":"Unknown3"}

아래 코드를 사용하여 다음 값을 변경할 수 있습니다.dic0에게 적절히 존경받는.dic0to1사전의 인덱스에 대해 걱정하지 않아도 됩니다.

for x, y in dic0.items():
    dic0[x] = dic0to1[y]

이제 다음이 있습니다.

>>> dic0
{0: 'Unknown1', 1: 'Unknown2', 2: 'Unknown3'}

그냥 비슷한 일을 해야만 했어요.Sadra Sabouri의 답변을 기반으로 파이썬의 데이터를 삭제하는 나의 접근 방식:

def sanitize(value):
    if str(value) == 'false':
        return False
    elif str(value) == 'true':
        return True
    elif str(value) == 'null':
        return None
    return value

for k,v in some_dict.items():
        some_dict[k] = sanitize(v)
data = {key1: value1, key2: value2, key3: value3}

for key in data:
   if key == key1:
       data[key1] = change
       print(data)

키 1: 값 1을 키 1: 변경으로 바꿉니다.

언급URL : https://stackoverflow.com/questions/19773669/python-dictionary-replace-values