programing

Python의 단일 요소 목록에서 요소 만 가져 오나요?

kingscode 2021. 1. 14. 22:55
반응형

Python의 단일 요소 목록에서 요소 만 가져 오나요?


Python 목록이 항상 단일 항목을 포함하는 것으로 알려진 경우 다음 이외의 다른 방법으로 액세스 할 수 있습니까?

mylist[0]

'왜 원 하겠어요?'라고 물을 수 있습니다. 호기심 만. 파이썬에서 모든 것을 할 수있는 다른 방법이있는 것 같습니다 .


시퀀스 풀기 :

singleitem, = mylist
# Identical in behavior (byte code produced is the same),
# but arguably more readable since a lone trailing comma could be missed:
[singleitem] = mylist

반복기 프로토콜의 명시 적 사용 :

singleitem = next(iter(mylist))

파괴적인 팝 :

singleitem = mylist.pop()

음수 지수 :

singleitem = mylist[-1]

단일 반복을 통해 설정 for합니다 (루프가 종료 될 때 루프 변수가 마지막 값으로 계속 사용 가능하기 때문에) :

for singleitem in mylist: break

다른 많은 것 (위의 비트를 결합하거나 변경하거나 암시 적 반복에 의존)하지만 아이디어를 얻습니다.


more_itertools이터 러블에서 하나의 항목을 반환하는 도구가 라이브러리 에 있다고 추가하겠습니다 .

from more_itertools import one


iterable = ["foo"]
one(iterable)
# "foo"

또한 more_itertools.oneiterable이 비어 있거나 둘 이상의 항목이있는 경우 오류를 발생시킵니다.

iterable = []
one(iterable)
# ValueError: not enough values to unpack (expected 1, got 0)

iterable = ["foo", "bar"]
one(iterable)
# ValueError: too many values to unpack (expected 1)

ReferenceURL : https://stackoverflow.com/questions/33161448/getting-only-element-from-a-single-element-list-in-python

반응형