백엔드 개발 파이썬 튜토리얼 Python3基础之list列表实例解析

Python3基础之list列表实例解析

Jun 06, 2016 am 11:32 AM
list python3 목록 베이스

通常来说Python中任何值都是一个对象,因此任何类型(int、str、list…)都是一个类。而类就必然有它的方法或属性,我们要记下这么多类的所有方法显然是不可能的,对此本文介绍两个小技巧:

dir() :内置函数,用来查询一个类或者对象所有属性,比如>>> dir(list)。

help() :内置函数,用来查询具体的说明文档,比如>>> help(int)。

在上一篇的Python3的基本数据类型中,我们初步了解了list列表,也介绍了列表是Python 中使用最频繁的数据类型。本文将进一步深入学习列表的使用。

一、列表的方法:

list.append(x)
在列表的尾部添加一个项,等价于 a[len(a):] = [x]。

list.extend(L)
将给定的列表L接到当前列表后面,等价于 a[len(a):] = L。

list.insert(i, x)
在给定的位置 i 前插入项,例如:a.insert(0, x) 会在列表的头部插入,而 a.insert(len(a), x) 则等价于 a.append(x)。

list.remove(x)
移除列表中第一个值为 x 的项,没有的话会产生一个错误。

list.pop([i])
删除列表给定位置的项,并返回它。如果没指定索引,a.pop()移除并返回列表最后一项。(方括号表示可选)

list.clear()
删除列表中的所有项,相当于 del a[:]。

list.index(x)
返回列表中第一个值为 x 的项的索引。如果没有匹配的项, 则产生一个错误。

list.count(x)
返回列表中 x 出现的次数。

list.sort()
就地完成列表排序。

list.reverse()
就地完成列表项的翻转。

list.copy()
返回列表的一个浅拷贝,相当于a[:]。

二、列表当栈

List的方法使得其可以很方便地作为一个栈来使用。我们知道,栈的特点是最后进入的元素最先出来(即后入先出),用append()方法进行压栈,用不指定索引的pop()方法进行出栈。

示例代码如下:

stack = []
for x in range(1,6):
 stack.append(x)  # 入栈
 print('push', x, end=' ')
 print(stack)

print('Now stack is', stack)

while len(stack)>0:
 print('pop', stack.pop(), end=' ') # 出栈
 print(stack)

로그인 후 복사

三、列表当队列

列表还可以当作队列来使用,队列的特性是第一个加入的元素第一个取出来(即先入先出)。然而,把列表当队列使用效率并不高,因为从列表的尾部添加和弹出元素是很快的,而在列表的开头插入或弹出是比较慢的(因为所有元素都得移动一个位置)。
要实现一个队列, 使用标准库的collections.deque, 它被设计成在两端添加和弹出都很快。

示例代码如下:

from collections import deque
queue = deque()    # 创建空队列
for x in range(1,6):
 queue.append(x)  # 入队
 print('push', x, end=' ')
 print(list(queue))

print('Now queue is', list(queue))

while len(queue)>0:
 print('pop', queue.popleft(), end=' ') # 出队
 print(list(queue))

로그인 후 복사

四、列表推导式

列表推导式提供了从序列创建列表的简单途径。通常程序会对序列的每一个元素做些操作,并以其结果作为新列表的元素,或者根据指定的条件来创建子序列。

列表推导式的结构是:在一个方括号里,首先是一个表达式,随后是一个 for 子句,然后是零个或更多的 for 或 if 子句。返回结果是一个根据表达从其后的 for 和 if 上下文环境中生成出来的列表。

示例代码如下:

squares = [x**2 for x in range(10)] # 推导式
print(squares)
# 输出是[0, 1, 4, 9, 16, 25, 36, 49, 64, 81]
pairs = [(x, y) for x in [1,2,3] for y in [3,1,4] if x!=y] # 推导式
print(pairs)
# 输出是[(1, 3), (1, 4), (2, 3), (2, 1), (2, 4), (3, 1), (3, 4)]

로그인 후 복사

五、列表嵌套

Python中并没有二维数组的概念,但我们可以通过列表嵌套达到同样的目的。

mat = [
   [1, 2, 3],
   [4, 5, 6],
   [7, 8, 9]
   ]

로그인 후 복사

同样,我们可以使用推导式生成嵌套的列表:

mat = [[1,2,3], [4,5,6], [7,8,9]]
new_mat = [ [row[i] for row in mat] for i in [0,1,2] ] # 嵌套
print(new_mat)
# 输出[[1, 4, 7], [2, 5, 8], [3, 6, 9]]

로그인 후 복사

附:del语句

del语句可以通过给定索引(而不是值)来删除列表中的项,它与返回一个值的pop()方法不同。del语句也可以移除列表中的切片,或者清除整个列表 :

lst = [1,2,3,4,5,6,7,8,9]
del lst[2]  # 删除指定索引项
print(lst)  
del lst[2:5] # 删除切片
print(lst)
del lst[:]  # 删除整个列表
print(lst)
del也可以用于删除变量实体:
del lst

로그인 후 복사

在删除变量实体之后引用 lst 的话会产生错误。

본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.

핫 AI 도구

Undresser.AI Undress

Undresser.AI Undress

사실적인 누드 사진을 만들기 위한 AI 기반 앱

AI Clothes Remover

AI Clothes Remover

사진에서 옷을 제거하는 온라인 AI 도구입니다.

Undress AI Tool

Undress AI Tool

무료로 이미지를 벗다

Clothoff.io

Clothoff.io

AI 옷 제거제

AI Hentai Generator

AI Hentai Generator

AI Hentai를 무료로 생성하십시오.

인기 기사

R.E.P.O. 에너지 결정과 그들이하는 일 (노란색 크리스탈)
3 몇 주 전 By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. 최고의 그래픽 설정
3 몇 주 전 By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. 아무도들을 수없는 경우 오디오를 수정하는 방법
3 몇 주 전 By 尊渡假赌尊渡假赌尊渡假赌
WWE 2K25 : Myrise에서 모든 것을 잠금 해제하는 방법
4 몇 주 전 By 尊渡假赌尊渡假赌尊渡假赌

뜨거운 도구

메모장++7.3.1

메모장++7.3.1

사용하기 쉬운 무료 코드 편집기

SublimeText3 중국어 버전

SublimeText3 중국어 버전

중국어 버전, 사용하기 매우 쉽습니다.

스튜디오 13.0.1 보내기

스튜디오 13.0.1 보내기

강력한 PHP 통합 개발 환경

드림위버 CS6

드림위버 CS6

시각적 웹 개발 도구

SublimeText3 Mac 버전

SublimeText3 Mac 버전

신 수준의 코드 편집 소프트웨어(SublimeText3)

Python을 사용하여 목록에서 대괄호를 제거하는 방법 Python을 사용하여 목록에서 대괄호를 제거하는 방법 Sep 05, 2023 pm 07:05 PM

Python은 필요에 따라 다양한 목적으로 사용할 수 있는 매우 유용한 소프트웨어입니다. Python은 웹 개발, 데이터 과학, 기계 학습 및 자동화가 필요한 기타 여러 분야에서 사용할 수 있습니다. 여기에는 이러한 작업을 수행하는 데 도움이 되는 다양한 기능이 있습니다. Python 목록은 Python의 매우 유용한 기능 중 하나입니다. 이름에서 알 수 있듯이 목록에는 저장하려는 모든 데이터가 포함됩니다. 기본적으로 다양한 유형의 정보 집합입니다. 대괄호를 제거하는 다양한 방법 사용자는 목록 항목이 대괄호 안에 표시되는 상황을 여러 번 접하게 됩니다. 이 문서에서는 목록을 더 잘 볼 수 있도록 이러한 괄호를 제거하는 방법을 자세히 설명합니다. 문자열 및 대체 함수에서 괄호를 제거하는 가장 쉬운 방법 중 하나는 다음과 같습니다.

Python의 count() 함수를 사용하여 목록의 요소 수를 계산하는 방법 Python의 count() 함수를 사용하여 목록의 요소 수를 계산하는 방법 Nov 18, 2023 pm 02:53 PM

Python의 count() 함수를 사용하여 목록의 요소 수를 계산하려면 특정 코드 예제가 필요합니다. 강력하고 배우기 쉬운 프로그래밍 언어인 Python은 다양한 데이터 구조를 처리하기 위한 많은 내장 함수를 제공합니다. 그 중 하나는 목록의 요소 수를 계산하는 데 사용할 수 있는 count() 함수입니다. 이번 글에서는 count() 함수의 사용법을 자세히 설명하고 구체적인 코드 예시를 제공하겠습니다. count() 함수는 Python의 내장 함수로, 특정 값을 계산하는 데 사용됩니다.

iPhone의 iOS 17 미리 알림 앱에서 쇼핑 목록을 만드는 방법 iPhone의 iOS 17 미리 알림 앱에서 쇼핑 목록을 만드는 방법 Sep 21, 2023 pm 06:41 PM

iOS17의 iPhone에서 GroceryList를 만드는 방법 미리 알림 앱에서 GroceryList를 만드는 것은 매우 간단합니다. 목록을 추가하고 항목으로 채우면 됩니다. 앱은 자동으로 항목을 카테고리별로 분류하며, 파트너나 플랫 파트너와 협력하여 매장에서 구매해야 할 항목의 목록을 만들 수도 있습니다. 이를 위한 전체 단계는 다음과 같습니다. 1단계: iCloud 미리 알림 켜기 이상하게 들리겠지만 Apple에서는 iOS17에서 GroceryList를 생성하려면 iCloud에서 미리 알림을 활성화해야 한다고 말합니다. 단계는 다음과 같습니다. iPhone의 설정 앱으로 이동하여 [사용자 이름]을 탭하세요. 다음으로 i를 선택하세요.

식료품 목록을 만드는 방법: iPhone용 미리 알림 앱 사용 식료품 목록을 만드는 방법: iPhone용 미리 알림 앱 사용 Dec 01, 2023 pm 03:37 PM

iOS 17에서 Apple은 식료품을 쇼핑할 때 도움이 되도록 미리 알림 앱에 편리한 작은 목록 기능을 추가했습니다. 사용 방법을 알아보고 매장 방문 시간을 단축하려면 계속 읽어보세요. 새로운 '식료품' 목록 유형(미국 외 지역에서는 '쇼핑')을 사용하여 목록을 만들면 다양한 음식과 식료품을 입력하고 카테고리별로 자동으로 정리할 수 있습니다. 이 정리를 통해 식료품점이나 쇼핑 중에 필요한 것을 더 쉽게 찾을 수 있습니다. 알림에서 사용할 수 있는 카테고리 유형에는 농산물, 빵 및 시리얼, 냉동 식품, 스낵 및 사탕, 육류, 유제품, 계란 및 치즈, 구운 식품, 구운 식품, 가정용품, 개인 관리 및 웰빙, 와인, 맥주 및 증류주가 포함됩니다. iOS17에서는 다음이 생성됩니다.

Java 목록에 null 값을 삽입할 수 있나요? Java 목록에 null 값을 삽입할 수 있나요? Aug 20, 2023 pm 07:01 PM

해결 방법예, add() 메서드를 사용하여 쉽게 Null 값을 삽입할 수 있습니다. List 구현이 Null을 지원하지 않는 경우에는NullPointerException이 발생합니다. 구문booleanadd(Ee) 지정된 요소를 이 목록의 끝에 추가합니다. 유형 매개변수 E - 요소의 런타임 유형. 매개변수 e - 이 목록에 추가될 요소

Python의 목록에서 Del과 Remove()의 차이점은 무엇입니까? Python의 목록에서 Del과 Remove()의 차이점은 무엇입니까? Sep 12, 2023 pm 04:25 PM

차이점을 논의하기 전에 먼저 Python 목록에 Del과 Remove()가 무엇인지 이해하겠습니다. Python 목록의 Del 키워드 Python의 del 키워드는 목록에서 하나 이상의 요소를 삭제하는 데 사용됩니다. 모든 요소를 ​​삭제할 수도 있습니다. 즉, 전체 목록을 삭제할 수도 있습니다. del 키워드를 사용하여 Python 목록에서 요소를 삭제하는 예 #CreateaListmyList=["Toyota","Benz","Audi","Bentley"]print("List="

Python을 사용하여 목록에서 여러 디렉터리 만들기 Python을 사용하여 목록에서 여러 디렉터리 만들기 Sep 08, 2023 am 08:21 AM

Python은 단순성과 다양성으로 인해 다양한 응용 프로그램에서 가장 인기 있는 프로그래밍 언어 중 하나가 되었습니다. 숙련된 개발자이든 이제 막 코딩 여정을 시작하든 관계없이 Python은 복잡한 작업을 관리하기 쉽게 만드는 다양한 기능과 라이브러리를 제공합니다. 이 기사에서는 목록을 기반으로 여러 디렉터리를 생성하는 프로세스를 자동화하여 Python이 도움을 줄 수 있는 실제 시나리오를 살펴보겠습니다. Python에 내장된 모듈과 기술의 강력한 기능을 활용하여 수동 개입 없이도 이 작업을 효율적으로 처리할 수 있습니다. 이 튜토리얼에서는 여러 디렉터리를 만드는 문제를 자세히 살펴보고 Python을 사용하여 이 문제를 해결하는 다양한 방법을 제공합니다. 이 기사가 끝날 때쯤이면 우리의 목표는 당신을 위한 것입니다.

win7 무선 네트워크 목록을 표시할 수 없습니다 win7 무선 네트워크 목록을 표시할 수 없습니다 Dec 22, 2023 am 08:07 AM

많은 사람들의 모바일 작업을 용이하게 하기 위해 많은 노트북에는 무선 네트워크 기능이 탑재되어 있지만 일부 사람들의 컴퓨터에서는 WiFi 목록을 표시할 수 없습니다. 이제 win7 시스템에서 이 문제를 처리하는 방법을 살펴보겠습니다. win7에서는 무선 네트워크 목록이 표시되지 않습니다. 1. 컴퓨터 오른쪽 하단에 있는 네트워크 아이콘을 마우스 오른쪽 버튼으로 클릭하고 "네트워크 및 공유 센터 열기"를 선택하여 연 다음 왼쪽의 "어댑터 설정 변경"을 클릭합니다. 2. 연 후 마우스 오른쪽 버튼을 클릭하여 무선 네트워크 어댑터를 선택하고 "진단"을 선택합니다. 3. 시스템이 문제를 진단하면 문제를 해결합니다. 4. 수리가 완료되면 WiFi 목록을 확인할 수 있습니다.

See all articles