Python에서 사전 키를 목록으로 반환하려면 어떻게 해야 하나요?
Python 2.7을 사용하면 사전 키, 값 또는 항목을 얻을 수 있습니다.list:
>>> newdict = {1:0, 2:0, 3:0}
>>> newdict.keys()
[1, 2, 3]
Python > = 3.3을 사용하면 다음과 같은 이점을 얻을 수 있습니다.
>>> newdict.keys()
dict_keys([1, 2, 3])
것은 얻을 수 있을까요?listPython 3 python python python python python python python python python python?
" " " 가 됩니다.dict_keyslist:
list(newdict.keys())
반면에, 당신은 그것이 중요한지 아닌지를 스스로에게 물어봐야 한다.오리타입을 추측하는 것은 피토닉식입니다. 오리처럼 보이고 오리처럼 울부짖는다면 오리입니다.그dict_keys오브젝트는 같은 방법으로 반복할 수 있습니다.list §:
for key in newdict.keys():
print(key)
:dict_keys는 삽입을 newdict[k] = v이치노
Python > = 3.5 대안: 목록 리터럴로 압축을 풉니다. [*newdict]
Python 3.5에는 새로운 언팩 일반화(PEP 448)가 도입되어 다음과 같은 작업을 쉽게 수행할 수 있습니다.
>>> newdict = {1:0, 2:0, 3:0}
>>> [*newdict]
[1, 2, 3]
을 풀다*는 반복할 수 있는 오브젝트와 함께 동작하며 사전은 반복할 때 키를 반환하므로 목록 리터럴 내에서 사용하면 목록을 쉽게 작성할 수 있습니다.
" " " .keys(): ★[*newdict.keys()]의향을 좀 더 명확하게 하는 데 도움이 될 수 있습니다.단, 함수 검색과 호출에 비용이 듭니다.(솔직히 말해서 걱정할 일은 아니야)
*iterable은 이렇게 하는 .list(iterable)그 동작은 처음에 Python Reference 매뉴얼의 Calls 섹션에 기재되어 있습니다.PEP 448에서는, 다음의 장소에 관한 제약이 있습니다.*iterable목록, 설정 및 튜플 리터럴에 배치할 수 있도록 느슨해졌습니다. 식 목록의 참조 매뉴얼도 업데이트되어 이 내용을 설명했습니다.
to to to to to though 。list(newdict)함수 호출이 실제로 수행되지 않기 때문에 (적어도 작은 사전의 경우) 더 빠르다는 차이점이 있습니다.
%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}
태플 케이스에서 쉼표 뒤에 오는 것을 주의하세요!
list(newdict)3 하며 Python 2의 Python 3의 키 합니다.newdictkeys()그럴 필요 없어요
목록 이해 기능을 사용할 수도 있습니다.
>>> 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 이전 버전에서는 주문이 보장되지 않습니다(주문은 CPython 3.6에서는 아직 구현 세부 사항일 뿐입니다).
typing"의정의에 . "duck typing"은 "duck typing"입니다.dict.keys()목록과 같은 개체가 아닌 반복 가능한 개체를 반환합니다.을사용하다 리스트는 반복할 수 있지만 반복할 수 있는 것은 리스트(또는 시퀀스)
실제 사용 사례에서, dict의 키로 가장 일반적으로 수행하는 것은 키를 반복하는 것이기 때문에, 이것은 타당합니다.는, 「」로 전화할 수 .list()
★★★★★★★★★★★와 마찬가지로zip()왜 반복하기 위해서만 새로운 튜플 리스트를 작성했다가 다시 버리는 걸까요?
이는 python의 큰 트렌드 중 하나로 목록 복사본이 아닌 더 많은 반복기(및 생성기)를 사용하는 것입니다.
dict.keys()다만, 오타가 없는지 주의 깊게 체크해 주세요.저는 잘 작동합니다.
>>> 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']]
키를 따로 보관해야 하는 경우 Extended Itable Unpacking(Python3)을 사용하여 지금까지 제시된 다른 솔루션보다 타이핑이 적은 솔루션이 있습니다.x+:
newdict = {1: 0, 2: 0, 3: 0}
*k, = newdict
k
# [1, 2, 3]
| 작동 | 글자 수 |
|---|---|
k = list(d) |
9 문자(공백 제외) |
k = [*d] |
6글자 |
*k, = d |
5글자 |
" " 를하지 으로 변환keys이치노
list(newdict)
사전을 샅샅이 굳이 샅샅이 뒤지지 .keys():
for key in newdict:
print key
사전에 작성한 키의 리스트가 필요한 루프내에서 변경을 실시하는 경우는 제외합니다.
for key in list(newdict):
del newdict[key]
Python 2에서는 를 사용하여 퍼포먼스가 약간 향상됩니다.
네, python3에서 이것을 하는 더 좋고 간단한 방법이 있습니다.x
inbuild list() 함수를 사용합니다.
#Devil
newdict = {1:0, 2:0, 3:0}
key_list = list(newdict)
print(key_list)
#[1, 2, 3]
사전에서 키를 추출할 수 있는 방법은 두 가지가 있습니다.
방법 1: .keys() 메서드를 사용하여 키를 취득한 후 목록으로 변환합니다.
some_dict = {1: 'one', 2: 'two', 3: 'three'}
list_of_keys = list(some_dict.keys())
print(list_of_keys)
-->[1,2,3]
방법 2: 빈 목록을 만든 후 루프를 통해 목록에 키를 추가합니다.이 루프에서도 값을 얻을 수 있습니다(키에만 .keys()를 사용하고 키와 값 추출에 .items()를 사용합니다).
list_of_keys = []
list_of_values = []
for key,val in some_dict.items():
list_of_keys.append(key)
list_of_values.append(val)
print(list_of_keys)
-->[1,2,3]
print(list_of_values)
-->['one','two','three']
고전적인더 정확할 것이다)을 넘어서는 입니다.some_dict.keys(): "멋지고" 더 흥미로운 방법이 있다.
some_dict = { "foo": "bar", "cool": "python!" }
print( [*some_dict] == ["foo", "cool"] ) # True
주의: 이 솔루션은 개발 환경에서 사용할 수 없습니다.여기서 보여드린 것은 단지 이 솔루션이 매우 흥미롭다고 생각했기 때문입니다.*- 면 - - - - 。된 기능인지하지 않습니다, 그 은, 「」, 「」, 「」, 「」, 「」, 「」, 「」, 「」, 「」, 「」, 「」, 「」, also also also 。
다음과 같은 간단한 방법을 사용할 수 있습니다.
keys = newdict.keys()
print(keys)
특정 값을 가진 키 목록 가져오기
특정 조건을 만족시키는 키의 서브셋을 선택할 수 있습니다.예를 들어, 대응하는 값이 [None]가 아닌 키 목록을 선택하려면
[k for k,v in newdict.items() if v is not None]
사전에서 키 목록을 잘라냅니다.
Python 3.7 이 dict dict, dits python python python python python python python python python python python python python python python python python python python python python. 예어의 한 사용 list(newdict)사전에 있는 키를 인덱스로 선택하거나 슬라이스하는 것이 될 수 있습니다(사용 방법이 아니라 확실히 가능한 질문입니다). " " 를 합니다.islice ★★★★★★★★★★★★★★★★★★부터itertools대부분의 키를 목록으로 변환하여 폐기하기 때문에 매우 효율적입니다.를 들어, 의 두 하려면 , 「 」의 키를 선택합니다.newdict:
from itertools import islice
next(islice(newdict, 1, 2))
또는 두 번째에서 다섯 번째 키를 슬라이스합니다.
list(islice(newdict, 1, 6))
글씨체일 &&&&&, &&&&&&&&&&&&&&&&&& for for for for for for for for for for for보다 .list(newdict)[1]syslog.
이것은 코드 한 줄에 키 목록을 가져오는 가장 좋은 방법입니다.
dict_variable = {1:"a",2:"b",3:"c"}
[key_val for key_val in dict_variable.keys()]
언급URL : https://stackoverflow.com/questions/16819222/how-do-i-return-dictionary-keys-as-a-list-in-python
'programing' 카테고리의 다른 글
| 사전에서 키 목록을 가져오려면 어떻게 해야 합니까? (0) | 2023.04.10 |
|---|---|
| 문자열을 연결하는 가장 효율적인 방법? (0) | 2023.04.10 |
| x: xaml의 의미 (0) | 2023.04.10 |
| &(앰퍼샌드) 문자를 AJAX를 통해 전송하려면 어떻게 해야 합니까? (0) | 2023.04.05 |
| URL을 통해 쿠폰 코드를 입수하여 WooCommerce Checkout 페이지에서 적용 (0) | 2023.04.05 |