기본 사전이 있습니다. 많은 문자열을 반복하고 사전에 해당 값이없는 경우에만 키 아래의 디렉토리에 추가합니다. 그래서 내 코드는 다음과 같습니다이 값이 사전에 존재하지 않으면 값 추가
from collections import defaultdict
strings = ["val1", "val2", "val2", "val3"]
my_dict = defaultdict(list)
key = 0
for string in strings:
if string not in my_dict.itervalues():
my_dict[key].append(string)
key += 1
print my_dict
을하지만 문자열 모두가 사전에 추가되기 때문에 다음과 같이 작동하지 않을 것 같다
defaultdict(<type 'list'>, {0: ['val1'], 1: ['val2'], 2: ['val2'], 3: ['val3']})
'을 val2'를 추가 할 수 없습니다한다 그것은 다음과 같습니다한다 : 내가 잘못 뭐하는 거지
defaultdict(<type 'list'>, {0: ['val1'], 1: ['val2'], 2: ['val3']})
?
예. 이 표현식의 결과를 추측 해보십시오. [1]에서 [1], [1]에서 [1] 그리고 [[1]에서'[1] '. 패턴을 식별 할 수 있으면이 지식을 실제 문제에 적용 할 수 있습니다. – Kevin
나는 당신이 결국 무엇을 성취하려고하는지, 왜 defaultdict를 사용하고 있는지 확실하지 않습니다. 중복 된 'dict (zip (range (len (dedup)), dedup))'을 제거하기 위해'dedup = set (strings)'을 사용하여리스트를 사전으로 만들까요? – raphv
@Kevin, 고맙습니다. 지금은 어떻게 작동하는지 보여 드리겠습니다. – GohanP