반응형
SQL 쿼리는 다음과 같은 튜플 목록을 제공합니다.
[(elt1, elt2), (elt1, elt2), (elt1, elt2), (elt1, elt2), (elt1, elt2), ...]
각 튜플의 모든 첫 번째 요소를 갖고 싶습니다. 지금은 이것을 사용합니다.
rows = cur.fetchall()
res_list = []
for row in rows:
res_list += [row[0]]
하지만 더 나은 구문이있을 수 있다고 생각합니다. 더 나은 방법을 알고 있습니까?
해결 방법
res_list = [x[0] for x in rows]
아래는 데모입니다.
>>> rows = [(1, 2), (3, 4), (5, 6)]
>>> [x[0] for x in rows]
[1, 3, 5]
>>>
또는 x [0]
대신 unpacking을 사용할 수 있습니다.
res_list = [x for x,_ in rows]
아래는 데모입니다.
>>> lst = [(1, 2), (3, 4), (5, 6)]
>>> [x for x,_ in lst]
[1, 3, 5]
>>>
두 방법 모두 실질적으로 동일한 작업을 수행하므로 원하는 것을 선택할 수 있습니다.
참조 페이지 https://stackoverflow.com/questions/22412258
반응형
'파이썬' 카테고리의 다른 글
파이썬 Locate first and last non NaN values in a Pandas DataFrame (0) | 2020.12.20 |
---|---|
파이썬 한 열의 python pandas pivot_table 카운트 빈도 (0) | 2020.12.20 |
파이썬 주어진 인덱스로 파이썬 목록의 하위 목록을 얻습니까? (0) | 2020.12.20 |
파이썬 numpy 배열을 초기화하고 채우는 가장 좋은 방법은 무엇입니까? (0) | 2020.12.20 |
파이썬 .values () 등을 사용하지 않고 사전에서 값의 평균 찾기 (0) | 2020.12.20 |
댓글