답변:
같은 것을 사용해야합니다 iteritems
.
for field, possible_values in fields.iteritems():
print field, possible_values
파이썬 버전에서을 사용하는 것과 같은 사전을 반복하는 방법에 대한 자세한 내용 은 이 답변 을 참조하십시오 items()
.
파이썬 3 iteritems()
는 더 이상 지원되지 않기 때문에 . items()
대신 사용하십시오 .
for field, possible_values in fields.items():
print(field, possible_values)
iteritems 를 사용하려고합니다 . 이것은 사전에 반복자를 반환하여 튜플 (키, 값)을 제공합니다
>>> for field, values in fields.iteritems():
... print field, values
...
first_names ['foo', 'bar']
last_name ['gravy', 'snowman']
문제는 필드를 반복하여 사전의 키를 반환한다는 것입니다.
>>> for field in fields:
... print field
...
first_names
last_name
Python3 iteritems()
에서는 더 이상 지원되지 않습니다
솔루션 1 :
사용하다 .items
for field, possible_values in fields.items():
print(field, possible_values)
솔루션 2 :
당신은 사용할 수 있습니다 enumerate()
뿐만 아니라
for field, possible_values in enumerate(fields):
print(field, possible_values)
사전에서 직접 반복 할 수 없습니다. 그래서 당신은 tuple로 변환을 통해 할 수 있습니다 .
first_names = ['foo', 'bar']
last_names = ['gravy', 'snowman']
fields = {
'first_names': first_names,
'last_name': last_names,
}
tup_field=tuple(fields.items())
for names in fields.items():
field,possible_values = names
tup_possible_values=tuple(possible_values)
for pvalue in tup_possible_values:
print (field + "is" + pvalue)
fields.iteritems()
코드에서 누락되었습니다 .
사전의 키를 사용하여 값을 얻는 다른 방법으로도 할 수 있습니다.
for key in fields:
value = fields[key]
data = (['President','George','Bush','is','.'],['O','B-PERSON','I-PERSON','O','O'])
corpus = []
for(doc,tags) in data:
doc_tag = []
for word,tag in zip(doc,tags):
doc_tag.append((word,tag))
corpus.append(doc_tag)
print(corpus)