, , 키 값을 얻을 수 있는 내가 파이썬 2.7 사전 항목 또는 , 목록:
>>> newdict = {1:0, 2:0, 3:0}
>>> newdict.keys()
[1, 2, 3]
>>> newdict.keys()
dict_keys([1, 2, 3])
그래서 afaq 바뀌엇어요 이 일을 해야만 한다.
newlist = list()
for i in newdict.keys():
newlist.append(i)
종료기 '목록 (뉴딕트스키스 ())'.
이렇게 하면 '객체' dict_keys 변환하십시오 바뀌엇어요.
반면 하나님께용서를 합니다 교도관님도요 여부는 중요하지 않다. 이 방법은 는 파이썬 코드를 solaris. 덕 타이핑 ( 경우 it looks like a 덕과 오리, 오리 등 it 돌팔이 it& # 39 의 ). 객체는 dict_keys '이' 처럼 행동하는 바뀌엇어요 대부분의 작업을 할 수 있습니다. 예를 들면 다음과 같습니다.
for key in newdict.keys():
print(key)
물론, 꼭짓점 연산자, t # 39 훨씬 감지에서 doesn& 삽입에서 작동하지 않을 수 있도록 사전 키를 목록은 겁니다.
새 꺼내기 하우스도르프 측도는 완비 측도이다 (PEP 448) 이제 쉽게 할 수 있도록 파이썬 3.5 함께 도입되었다.
>>> newdict = {1:0, 2:0, 3:0}
>>> [*newdict]
[1, 2, 3]
즉, 모든 *' 수행됨 함께 '개봉 이후 이트레이블 및 사전을 통해 그들의 이터레이션된 복귀하십시오 객체에는 때 키를 사용하여 바뀌엇어요 바뀌엇어요 ipv6-literal. 안에서 쉽게 만들 수 있습니다.
[ 뉴딕트스키스 ()] '' () '' 스키스 이리에 추가하는 데 도움이 될 수 있지만 너희에의 조회 및 함수 호출 의도를 명시성 조금 더 소요될 것으로 보인다. 즉, 모든 정직, , * t 당신이 정말 걱정이 될 isn& # 39 한다).
< sub>; 이 구문은 이트레이블 '' 하고 '행동' 와 비슷한 목록 (이트레이블) 의 [페이징됩니다 섹선에서] [2] 의 처음 문서화했습니다 파이썬 참조서. 448 함께 있는 모습을 보이고 있다 '는' 이트레이블 나타날 수 있는 제한 배치될 수 있도록 설정 및 튜플 리터럴, 이 목록에 대한 참조서 [표현식에서는 열거합니다] [3] 으로 업데이트되어야 스테이드 역시 이. < /sub>;
%timeit [*newdict]
1000000 loops, best of 3: 249 ns per loop
%timeit list(newdict)
1000000 loops, best of 3: 508 ns per loop
%timeit [k for k in newdict]
1000000 loops, best of 3: 574 ns per loop
큰 사전 속도는 거의 똑같은 (부담이 큰 비용 함수 호출 작은 으뜸 컬렉션을 통해 반복).
유사한 방식으로 튜플을 및 사전 키를 세트를 만들 수 있습니다.
>>> *newdict,
(1, 2, 3)
>>> {*newdict}
{1, 2, 3}
하고 바랄 쉼표 뒤에 있는 튜플 케이스!
[2]: https://docs.python.org/3/reference/expressions.html # 통화 [3]: https://docs.python.org/3/reference/expressions.html # 표현식에서는 열거합니다
덕 좀 오프하도록 " 대한 typing"; ' ()' 을 반환하는지 정의마다 딕트스키스 이트레이블 객체에는 목록 같은 아닌 천체이다. 언제 어디서나 사용할 수 있는 것이 아닌 바뀌엇어요 이트레이블 노력할 것입니다. 하지만 한 것은, 바뀌엇어요 개최도 이트레이블 이트레이블 바뀌엇어요 (또는 e0100042.log.)
실제 사용, 가장 일반적인 것은 그들을 도왔으매 반복할 수 있는 것은 이 딕트 시동키는 함께 할 수 없다. 그리고 만약 당신이 할 수 있습니다 '솔리드로 바뀌엇어요 호출하십시오 목록 ()'.
Zip () '-' 에 대해 매우 비슷한 것이 대다수의 경우, 완전히 새로운 목록을 통해 왜 이터레이션된 - 튜플을 만들기 위해 단지 내 버릴 반복할 후 다시?
이는 큰 부분을 더 많이 사용할 수 있습니다 (및 발전기), 파이썬 대신 반복자를 추세에 복제본입니다 all over the 열거합니다 파일배치.
'-' 지능형 작동합니까 표시되어도 딕트스키스 () 또는 뭔가를 위한 입력 오류 체크 잘 한다. 작동하잖아 과태료를 봐요.
>>> d = dict(zip(['Sounder V Depth, F', 'Vessel Latitude, Degrees-Minutes'], [None, None]))
>>> [key.split(", ") for key in d.keys()]
[['Sounder V Depth', 'F'], ['Vessel Latitude', 'Degrees-Minutes']]
>>> newdict = {1:0, 2:0, 3:0}
>>> [k for k in newdict.keys()]
[1, 2, 3]
또는, 짧고,
>>> [k for k in newdict]
[1, 2, 3]
참고: 아래에 있는 순서 보장되지 않을 3.7 버전 (오더할 미디어만을 구현 세부 묘사 여전히 스피통 3.6tb).
'키' 로 변환 방법을 사용하지 않고 바뀌엇어요 더 잘 알 수 있을 것입니다.
list(newdict)
for key in newdict:
print key
루프 내에 있는 수정하지 않는 한 키 목록을 미리 작성된 필요합니다.
for key in list(newdict):
del newdict[key]
newdict = {1: 0, 2: 0, 3: 0}
*k, = newdict
k
# [1, 2, 3]
╒═══════════════╤═════════════════════════════════════════╕
│ k = list(d) │ 9 characters (excluding whitespace) │
├───────────────┼─────────────────────────────────────────┤
│ k = [*d] │ 6 characters │
├───────────────┼─────────────────────────────────────────┤
│ *k, = d │ 5 characters │
╘═══════════════╧═════════════════════════════════════════╛