>백엔드 개발 >파이썬 튜토리얼 >Python의 다양한 리스트 운용 기술 공유

Python의 다양한 리스트 운용 기술 공유

Y2J
Y2J원래의
2017-04-24 13:55:341212검색

저는 최근에 Python 언어를 배우고 있습니다. 파이썬의 기본 문법을 기본적으로 배웠습니다. 나는 데이터 처리에서 파이썬의 위치가 리스트 작업과 분리될 수 없다고 생각합니다.

여기서 관련 기본 조작을 배우고 메모해 두었습니다.

'''
Python --version Python 2.7.11
Quote : https://docs.python.org/2/tutorial/datastructures.html#more-on-lists
Add by camel97 2017-04
'''
list.append(x) #在列表的末端添加一个新的元素
Add an item to the end of the list; equivalent to a[len(a):] = [x].

list.extend(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 값을 가진 첫 번째 요소 제거(즉, 목록에 x가 2개 있는 경우 첫 번째 x만 삭제됩니다. )

목록에서 값이 x인 첫 번째 항목을 제거합니다. 해당 항목이 없으면 오류입니다.

list.pop([i])#Remove the 목록의 항목 i번째 요소이며 이 요소를 반환합니다. 매개변수 i가 제공되지 않으면 기본적으로 목록의 마지막 요소가 삭제됩니다
목록의 지정된 위치에 있는 항목을 제거하고 반환합니다. 인덱스가 지정되지 않으면 a.pop()이 제거하고 반환합니다. 목록의 마지막 항목입니다. (메서드 시그니처에서 i 주위의 대괄호는 매개 변수가 선택 사항임을 의미하며 해당 위치에 대괄호를 입력해야 한다는 의미는 아닙니다. Python 라이브러리 참조에서 이 표기법을 자주 볼 수 있습니다.) 🎜>

list.index(x)#값이 x인 첫 번째 항목의 목록에서 인덱스를 반환합니다. 해당 항목이 없으면 오류입니다.


list.count (x)#목록에서 x 값을 갖는 요소 수를 반환합니다


x가 목록에 나타나는 횟수를 반환합니다.


demo:

#-*-coding:utf-8-*-
L = [1,2,3]   #创建 list 
L2 = [4,5,6]
print L
L.append(6)   #添加
print L
L.extend(L2) #合并
print L
L.insert(0,0) #插入
print L
L.remove(6)   #删除
print L
L.pop()     #删除
print L
print L.index(2)#索引
print L.count(2)#计数
L.reverse()   #倒序
print L

result :

[1, 2, 3]
[1, 2, 3, 6]
[1, 2, 3, 6, 4, 5, 6]
[0, 1, 2, 3, 6, 4, 5, 6]
[0, 1, 2, 3, 4, 5, 6]
[0, 1, 2, 3, 4, 5]
2
1
[5, 4, 3, 2, 1, 0]

list.sort(cmp=None, key=None, reverse=False)

목록 항목을 제자리에 정렬합니다(인수는 정렬 사용자 정의에 사용할 수 있습니다. sorted 참조). ()에 대한 설명).

1. 목록을 정렬합니다. 기본적으로 순서는 작은 것부터 큰 것 순으로 정렬됩니다

L = [2,5,3,7,1]
L.sort()
print L
==>[1, 2, 3, 5, 7]
L = ['a','j','g','b']
L.sort()
print L
==>['a', 'b', 'g', 'j']

2.reverse는 부울 값입니다. 기본값은 False입니다. True로 설정하면 이 목록의 요소가 역순으로 비교됩니다( 역순 ) 배열.

# reverse는 부울 값입니다. True로 설정하면 각 비교가 역순인 것처럼 목록 요소가 정렬됩니다.

L = [2,5,3,7,1]
L.sort(reverse = True)
print L
==>[7, 5, 3, 2, 1]
L = ['a','j','g','b']
L.sort(reverse = True)
print L
==>['j', 'g', 'b', 'a']

3.key는 다음과 같은 함수입니다. 정렬할 키(일반적으로 람다 표현식 또는 지정된 함수)를 지정합니다.

#key는 각 목록 요소에서 비교 키를 추출하는 데 사용되는 단일 인수의 함수를 지정합니다: key=str.lower 기본값. 없음(요소를 직접 비교).

#-*-coding:utf-8-*-
#创建一个包含 tuple 的 list 其中tuple 中的三个元素代表名字 , 身高 , 年龄
students = [('John', 170, 15), ('Tom', 160, 12), ('Dave', 180, 10)]
print students
==>[('John', 170, 15), ('Tom', 160, 12), ('Dave', 180, 10)]
students.sort(key = lambda student:student[0])
print students
==>[('Dave', 180, 10), ('John', 170, 15), ('Tom', 160, 12)]#按名字(首字母)排序
students.sort(key = lambda student:student[1])
print students
==>[('Tom', 160, 12), ('John', 170, 15), ('Dave', 180, 10)]#按身高排序
students.sort(key = lambda student:student[2])
print students
==>[('Dave', 180, 10), ('Tom', 160, 12), ('John', 170, 15)]#按年龄排序

4.cmp는 두 개의 매개변수를 지정하는 함수입니다. 정렬 방법을 결정합니다.

#cmp는 첫 번째 #인수가 두 번째 인수보다 작거나 같거나 큰 것으로 간주되는지 여부에 따라 음수, 0 또는 양수를 반환해야 하는 두 인수(반복 가능한 요소)의 사용자 정의 비교 함수를 지정합니다. 인수: cmp=lambda x,y: cmp(x.lower(), y.lower()). 기본값은 없음입니다.

#-*-coding:utf-8-*-
students = [('John', 170, 15), ('Tom', 160, 12), ('Dave', 180, 10)]
print students
==>[('John', 170, 15), ('Tom', 160, 12), ('Dave', 180, 10)]
#指定 用第一个字母的大写(ascii码)和第二个字母的小写(ascii码)比较
students.sort(cmp=lambda x,y: cmp(x.upper(), y.lower()),key = lambda student:student[0])
print students
==>[('Dave', 180, 10), ('Tom', 160, 12), ('John', 170, 15)]
#指定 比较两个字母的小写的 ascii 码值
students.sort(cmp=lambda x,y: cmp(x.lower(), y.lower()),key = lambda student:student[0])
print students
==>[('Dave', 180, 10), ('John', 170, 15), ('Tom', 160, 12)]
#cmp(x,y) 是python内建立函数,用于比较2个对象,如果 x < y 返回 -1, 如果 x == y 返回 0, 如果 x > y 返回 1

cmp를 사용하면 크기 관계를 사용자 정의할 수 있습니다. 일반적으로 우리는 1

이제 크기 관계를 사용자 정의하여 지정된 규칙에 따라 목록을 정렬하는 기능을 사용자 정의할 수 있습니다(예: 2

이는 특별한 문제를 다룰 때 종종 유용합니다.

위 내용은 Python의 다양한 리스트 운용 기술 공유의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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