빈 사전이 있는데, 이는 업데이트 방법으로 조작하고 있습니다. 변수로 키를 사용하고 +1
을 값으로 사용하고 있습니다. 아래를 참조하십시오 :dict.update()가 예상대로 작동하지 않습니다.
myDict, var = {}, 10
myDict.update({ var : +1 })
두 번 실행 해 봅시다. myDict = {10 : 2}
이 필요합니다. 대신 {10 : 1}
입니다.
는 내가 직접이 일을하여이 문제를 해결할 수 있습니다 이해 :
myDict[var] += 1
print (myDict)
{10 : 2}
그러나, var
내가 증가 싶습니다 10
는 항상 아니라, var
는 숫자가 될 수 있습니다. 10
이외의 숫자 인 경우 키가 사전에 없으므로 KeyError
이 표시됩니다.
키를 변수로 사용하여 사전을 업데이트하고 값을 1
으로 설정하려면 어떻게해야합니까? 그러나 키가 이미 myDict
에 존재하는 경우 대신 해당 값을 증가 시키시겠습니까?
나는 try와 except 문을 통해이 작업을 이미 마쳤지만 매우 Pythonic하지는 않습니다.
try:
myDict[var] += 1
except:
myDict.update({ var : 1 })
이렇게하면 var
의 값이 1 씩 증가합니다. 키가 존재하지 않으면 myDict
이 대신 키를 생성하고 값을 하나로 설정합니다. 더 좋은 방법이 있습니까?
아주 잘 작동합니다. 팬더 데이터 프레임에 카운터를 추가 할 수 있습니까? 프로그램 끝 부분에서이 작업을 수행하고 싶습니다. –
데이터 프레임은 사전을 입력으로 사용할 수 있으므로 어떤 이유로 든 카운터를 수락하지 않으면 놀랄 것입니다. 그렇지 않다면'dict (c)'를 사용할 수 있습니다. –
@AugustWilliams 카운트가 스칼라 인 것처럼 보이는 경우 색인을 전달하기 만하면됩니다 (예 : 'pd.DataFrame (Counter ([4, 5, 2, 4, 5]), index = [0])' – miradulo