이것은 매우 간단하지만 꽤 평범한 방식으로하고 싶습니다. 기본적으로 사전이 있으면 특정 문자열로 시작하는 키만 포함 된 하위 딕테이션을 반환합니다.특정 문자열로 시작하는 키로 사전 썰기
» d = {'Apple': 1, 'Banana': 9, 'Carrot': 6, 'Baboon': 3, 'Duck': 8, 'Baby': 2}
» print slice(d, 'Ba')
{'Banana': 9, 'Baby': 2, 'Baboon': 3}
이이 기능을 수행하는 매우 간단하다 :
def slice(sourcedict, string):
newdict = {}
for key in sourcedict.keys():
if key.startswith(string):
newdict[key] = sourcedict[key]
return newdict
을하지만 확실히 더 멋진, 영리한, 더 읽기 쉬운 해결책이? 발전기가 여기에서 도움이 될 수 있습니까? (나는 그것들을 사용할 충분한 기회가 없다).
가 모호한 파이썬 코드를하지 마십시오. 파이썬의 전체 아이디어는 가독성입니다. 당신이 막연한 힘을 필요로한다면 Perl을 사용하십시오. – user3181121
http://pythoncentral.io/how-to-slice-custom-objects-classes-in-python/을 보면, 자신의 타입/서브 클래스 dict에서'__getitem__'을 커스터마이즈 할 수 있습니다. – bjd2385