본문 바로가기

list28

Python 첫 번째 항목을 반환하거나 None을 반환하는 파이썬 관용구, Python idiom to return first item or None 질문 나는 여러 개의 목록을 반환하는 메소드들을 호출하고 있습니다. 이 목록은 비어 있을 수 있습니다. 목록이 비어 있지 않으면 첫 번째 항목을 반환하고, 그렇지 않으면 None을 반환하려고 합니다. 이 코드는 작동합니다: def main(): my_list = get_list() if len(my_list) > 0: return my_list[0] return None 하지만 이렇게 하는 간단한 한 줄의 관용구가 있어야 할 것 같습니다. 있을까요? 답변 파이썬 2.6+ next(iter(your_list), None) your_list가 None일 수 있는 경우: next(iter(your_list or []), None) 파이썬 2.4 def get_first(iterable, default=None.. 2023. 12. 7.
Python 제너레이터나 리스트에서 처음 N개의 항목을 가져오는 방법은 무엇인가요? [중복됨], How to take the first N items from a generator or list? [duplicate] 질문 linq을 사용하면 var top5 = array.Take(5); 파이썬으로 이것을 어떻게 할 수 있을까요? 답변 리스트 슬라이싱 top5 = array[:5] 리스트를 슬라이싱하기 위해 간단한 구문이 있습니다: array[start:stop:step] 어떤 매개변수도 생략할 수 있습니다. 다음은 모두 유효합니다: array[start:], array[:stop], array[::step] 제너레이터 슬라이싱 import itertools top5 = itertools.islice(my_list, 5) # 첫 다섯 개의 요소 가져오기 파이썬에서는 직접적으로 제너레이터를 슬라이싱할 수 없습니다. itertools.islice()는 객체를 새로운 슬라이싱 제너레이터로 감싸주며 다음과 같은 구문을 사용합.. 2023. 12. 4.
Python jinja2 템플릿에서 리스트의 길이를 가져옵니다., Get lengths of a list in a jinja2 template 질문 jinj2 템플릿에서 리스트의 요소 수를 어떻게 얻을 수 있을까요? 예를 들어, Python에서는 다음과 같이 할 수 있습니다: print(template.render(products=[???])) 그리고 jinja2에서는 다음과 같습니다. You have {{what goes here?}} products 답변 당신은 {{products|length}}개의 제품을 가지고 있습니다. 또한 다음과 같은 문법을 사용할 수도 있습니다. {% if products|length > 1 %} jinja2의 내장 필터는 여기에 문서화되어 있으며, 특히 이미 찾은 것처럼 length (그리고 그 동의어인 count)는 다음과 같이 문서화되어 있습니다: 시퀀스나 매핑의 항목 수를 반환합니다. 그러므로, 템플릿에서 .. 2023. 11. 14.
Python 파이썬에서 배열을 선언하고 항목을 추가하는 방법은 다음과 같습니다., How to declare and add items to an array in Python 질문 나는 Python에서 배열에 항목을 추가하려고합니다. 다음을 실행합니다. array = {} 그런 다음 다음을 수행하여이 배열에 무언가를 추가하려고합니다. array.append(valueToBeInserted) 여기에는 .append 메소드가 없어 보입니다. 배열에 항목을 추가하는 방법은 무엇입니까? 답변 {}는 빈 딕셔너리를 나타내며, 배열/리스트가 아닙니다. 리스트나 배열을 사용하려면 []를 사용해야 합니다. 빈 리스트를 초기화하려면 다음과 같이 하세요: my_list = [] 또는 my_list = list() 리스트에 요소를 추가하려면 append를 사용하세요 my_list.append(12) 리스트에 다른 리스트의 요소를 포함시키려면 extend를 사용하세요 my_list.extend([.. 2023. 11. 2.