유효한 목록 색인이고 값이 목록의 항목 인 사전으로 모든 목록을 나타낼 수 있습니다. 예 : [5, 6, 'a']
은 {0:5, 1:6, 2:'a'}
으로 표시됩니다.메모리가 문제가되지 않을 때`list`를`dict` 할 수 있습니까?
점근 시간과 메모리 복잡성의 관점에서 dict
표현은 list
과 동일합니다. list
은 상수 요인으로 메모리를 적게 사용합니다.
메모리가 문제가되지 않는 경우 목록 및 기타 시퀀스 대신 항상 dict
을 사용할 수 있습니다 (임의의 키를 사용하는 유연성을 얻고 사용되는 다른 컨테이너 수를 줄임으로써 코드를 약간 표준화 할 수 있음).)?
순서대로 dict 항목에 액세스하려면'O (n log n)'조작이 필요합니다. –
@PavelAnossov : http://wiki.python.org/moin/TimeComplexity에 따르면,'dict'은 요소 액세스를 위해 O (1)을 상각합니다. "순서대로"가 "목록의 색인 순서대로"를 의미하는 경우, 범위 (ken)에 대해 O (n) :'가됩니다. len (dict_) : yield dict_ [k]'. – max
목록이 주문됩니다. 사전은 그렇지 않습니다. 물론, * collections * 패키지의 * OrderedDict *를 항상 사용할 수도 있습니다. – volcano