주로 지식 포인트와 관련됩니다
1. 인덱스
2. 슬라이스
4. 삭제
>
6.루프
(순회라고도 함)을 포함합니다. 정의 목록:
List2=['openstack','python','linux',"docker","zabbix","nginx","linux","linux","123","ww33##"] 或者 List2=list(['openstack','python','linux',"docker","zabbix","nginx","linux","linux","123","ww33##"])
주로 관련된 기본 방법 및 소개
간단한 예:
1. 목록 정의
>>> List2=list(['openstack','python','linux',"docker","zabbix","nginx","linux"," linux","123","ww33##"]) >>> print(List2) ['openstack', 'python', 'linux', 'docker', 'zabbix', 'nginx', 'linux', 'linux', '123', 'ww33##'] 或者List2=['openstack','python','linux',"docker","zabbix","nginx","linux"," linux","123","ww33##"] 我们直接用后面的这种定义,检验和模拟相关方法和切片等。
List2=['openstack','python','linux',"docker","zabbix","nginx","linux","linux","123","ww33##"] print(List2[0]) print(List2[1]) print(List2[-2]) 结果: openstack python 123 我们发现在取值时下标为零的恰好取的值为是第一位元素,更好的证明了下标从零开始这一说法, 同时发现print(List2[-2])恰好是倒数第二位元素,由此可见不仅顺着取值,可以倒着取值。
切片:访问里面的前多个值: List2=['openstack','python','linux',"docker","zabbix","nginx","linux","linux","123","ww33##"] print(List2[0:3]) #取前三个 结果: ['openstack', 'python', 'linux'] 再试试 print(List2[:3]) 结果: ['openstack', 'python', 'linux'] 由此我们可以看出开始下标是0的时候,可以省略不写,还需要注意下标[0:3]能取到1,2,3位的元素, 即表示第四位取不到,在我们边界取值时需要注意。 print(List2[3:-1]) #取不到最后一位 print(List2[3:]) #取得第四位到最后一位 print(List2[2:9:2])#取出下标为第二位到下标为9之间的 每隔一个元素取一次 print(List2[-3:-1]) #倒着取值取出倒数第三位和倒数第二位 print(List2[-3:])#取出倒数的后三位 print(List[0::2])#每隔一个元素取一次 print(list[::2]) #每隔一个元素取一次 和上面的一样 结果: ['docker', 'zabbix', 'nginx', 'linux', 'linux', '123'] ['docker', 'zabbix', 'nginx', 'linux', 'linux', '123', 'ww33##'] ['linux', 'zabbix', 'linux', '123'] ['linux', '123'] ['linux', '123', 'ww33##']
주로 추가 방법을 사용합니다. elements , 끝에
List2.append("winner") print(List2) 结果: ['openstack', 'python', 'linux', 'docker', 'zabbix', 'nginx', 'linux', 'linux', '123', 'ww33##', 'winner']
를 추가하여 특정 위치에 요소를 삽입하려면 insert 메소드를 사용하여
List2.insert(2,"baidu") #在第三位插入元素baidu print(List2) 结果: ['openstack', 'python', 'baidu', 'linux', 'docker', 'zabbix', 'nginx','123', 'ww33##'] 由此看出在某位置插入时,该位置元素整体向后移动。
List2[2]="我的钢铁" List2[-1]="人生苦短,我用python!" #List2.insert(2,"baidu") print(List2) ['openstack', 'python', '我的钢铁', 'docker', 'zabbix', 'nginx', '123', '人生苦短,我用python!']
() 메소드는 전체 목록을 삭제할 수 있습니다. 다음으로, 예시를 바탕으로 여러 방식의 차이점을 분석해 보겠습니다.
pop() 메소드의 중간 매개변수는 첨자입니다. 매개변수가 없을 경우 기본적으로 마지막 숫자는 삭제됩니다.
List2.pop(1) print(List2) 结果 ['openstack', 'linux', 'docker', 'zabbix', 'nginx', '123', 'ww33##'] List2.pop(-4) print(List2) 结果: ['openstack', 'python', 'linux', 'docker', 'nginx', '123', 'ww33##']
List2.clear() print(List2) 结果: []
를 처리하는 데 사용됩니다. del은 전체 목록을 삭제할 수도 있습니다.
del List2 print(List2) del List[2] 结果: Traceback (most recent call last): File "C:/Users/Administrator/PycharmProjects/s14/jiounumber.py", line 21, in <module> print(List2) NameError: name 'List2' is not defined 删除个别元素 结合切片 List2=['openstack','云计算','python',"中国","中东",'linux',123,"ww33##"] del List2[2] print(List2) 结果: ['openstack', '云计算', '中国', '中东', 'linux', 123, 'ww33##']
결과를 관찰하면 del이 정의된 목록을 삭제하고 Clear()가 목록의 요소를 비우는 것을 알 수 있습니다.
6. 요소의 위치 및 발생 횟수 쿼리(목록 요소는 반복 가능)
목록 쿼리에는 주로 목록의 길이에 대한 통계와 요소 쿼리가 포함됩니다. 특정 내용이 어떤 위치에 있는지는 주로 index() 인덱스 방식과count
() 요소 발생 방식을 사용하여 구현합니다.List2=['openstack','python','linux',"docker","zabbix","nginx","123","ww33##"] 索引: print(List2.index("linux")) 结果 2 统计: print(List2.count("linux")) 结果 1 List2=['openstack','linux','python','linux',"docker","zabbix",'linux',"nginx","123","ww33##"] print(List2.index("linux")) print(List2.count("linux")) 结果: 1 3
() 메서드를 통해 목록을 뒤집고 정렬할 수 있습니다. 목록을 뒤집는 것입니다. 요소의 위치를 다시 뒤집으며 정렬은 주로 Ascall 코드를 기반으로 합니다.
List2=['openstack','linux','python','linux',"docker","zabbix",'linux',"nginx","123","ww33##"] List2.reverse() print(List2) 结果: ['ww33##', '123', 'nginx', 'linux', 'zabbix', 'docker', 'linux', 'python', 'linux', 'openstack'] 排序: List2.sort() print(List2) ['123', 'docker', 'linux', 'linux', 'linux', 'nginx', 'openstack', 'python', 'ww33##', 'zabbix'] 再稍微复杂一点,里面添加中文和整数等内容 List2=['openstack','云计算','python',123,"docker","zabbix",'linux',30.84,"123","ww33##"] List2.sort() print(List2) 执行结果: Traceback (most recent call last): File "C:/Users/Administrator/PycharmProjects/s14/jiounumber.py", line 24, in <module> List2.sort() TypeError: unorderable types: int() < str() 整型和字符串无法比较,接下来,再试试 List2=['openstack','云计算','python',"中国","中东",'linux',"123","ww33##"] List2.sort() print(List2) ['123', 'linux', 'openstack', 'python', 'ww33##', '中东', '中国', '云计算']
이를 통해 위의 내용과 관련하여 목록 정렬이 여전히 매우 NB하다는 것을 알 수 있습니다. 비교할 수 없는 정수와 문자열의 경우 정수 변환을
문자열 비교copyfor 루프를 통해 인쇄하는 방법 요소 List2=['openstack','云计算','python',"中国","中东",'linux',"123","ww33##"]
for i in List2 :
print (i)
print(List2)
结果:
openstack
云计算
python
中国
中东
linux
123
ww33##
['openstack', '云计算', 'python', '中国', '中东', 'linux', '123', 'ww33##']
通过循环我们就可以找出列表的每个元素。同时我们也可以看出这时的打印和之前的有所不同
List2=['openstack','云计算','python',"中国","中东",'linux',123,"ww33##"] print( 'linuxww' in List2) print('中东' in List2) print(123 in List2) print( 12 in List2) 结果: False True True False
entend 방법 이 방법을 사용하면 값 중 하나에 영향을 주지 않고 두 목록을 하나로 병합할 수 있습니다. List2=['openstack','云计算','python',"中国","中东",'linux',123,"ww33##"]
List1=[123,'abc','中国']
#print( 'linuxww' in List2)
#print('中东' in List2)
print(List2,List1)
print(List1)
List1.clear()
print(List1)
结果:
['openstack', '云计算', 'python', '中国', '中东', 'linux', 123, 'ww33##'] [123, 'abc', '中国']
[123, 'abc', '中国']
[]
由此发现extend方法并不会影响被合并列表(List1)的值,只有自己做其他操作时才会发生变化。
List2=['openstack','云计算','python',"中国","中东",'linux',123,"ww33##"] list3=List2.copy() print(List2,list3) 结果: ['openstack', '云计算', 'python', '中国', '中东', 'linux', 123, 'ww33##'] ['openstack', '云计算', 'python', '中国', '中东', 'linux', 123, 'ww33##'] 注意事项: List2=['openstack','云计算','python',["中国","中东"],'linux',123,"ww33##"] list3=List2.copy() print(List2) print(list3) List2[2]="MYSQl DBA" List2[3][1]="北京" print(List2) print(list3) 执行结果: ['openstack', '云计算', 'python', ['中国', '中东'], 'linux', 123, 'ww33##'] ['openstack', '云计算', 'python', ['中国', '中东'], 'linux', 123, 'ww33##'] ['openstack', '云计算', 'MYSQl DBA', ['中国', '北京'], 'linux', 123, 'ww33##'] ['openstack', '云计算', 'python', ['中国', '北京'], 'linux', 123, 'ww33##'] 我们将列表List2中的List2[2]的python和List2[3][1]的中东更改为List2[2]="MYSQl DBA"和List2[3][1]="北京 输出后发现复制的那一部分List2[3][1]复制后是一样的,而List2[2]的值会不一样。主要是内存的地址原因。 同时对这种情况想要复制相同的是不行的 List2=['openstack','云计算','python',["中国","中东"],'linux',123,"ww33##"] list3=List2 print(List2) print(list3) List2[2]="MYSQl DBA" List2[3][1]="北京" print(List2) print(list3) 这里给list3赋值为List2这时会发现更改List2时,会直接更改list3的值 ['openstack', '云计算', 'python', ['中国', '中东'], 'linux', 123, 'ww33##'] ['openstack', '云计算', 'python', ['中国', '中东'], 'linux', 123, 'ww33##'] ['openstack', '云计算', 'MYSQl DBA', ['中国', '北京'], 'linux', 123, 'ww33##'] ['openstack', '云计算', 'MYSQl DBA', ['中国', '北京'], 'linux', 123, 'ww33##'] 要想复制完全一样的,我们可以导入copy模块 import copy List2=['openstack','云计算','python',["中国","中东"],'linux',123,"ww33##"] list3=copy.deepcopy(List2) print(List2) print(list3) List2[2]="MYSQl DBA" List2[3][1]="北京" print(List2) print(list3) 执行的结果: ['openstack', '云计算', 'python', ['中国', '中东'], 'linux', 123, 'ww33##'] ['openstack', '云计算', 'python', ['中国', '中东'], 'linux', 123, 'ww33##'] ['openstack', '云计算', 'MYSQl DBA', ['中国', '北京'], 'linux', 123, 'ww33##'] ['openstack', '云计算', 'python', ['中国', '中东'], 'linux', 123, 'ww33##'] 这时发现,List2元素的值改变不会影响list3的值,下面的这种copy,我们称为deep.copy,而列表的 copy()方法是一种浅copy
위의 기본 작업 외에 작업, 목록에서 다음 작업을 수행할 수도 있습니다. 목록 쌍 + 및 *의
는 문자열의 연산자와 유사합니다. + 기호는 목록을 결합하는 데 사용되며 * 기호는 목록을 반복하는 데 사용됩니다
List2=['openstack','云计算','python',"中国","中东",'linux',123] list3=["open","ip","config"] print(List2+list3) print(list3*3 ) 结果: ['openstack', '云计算', 'python', '中国', '中东', 'linux', 123, 'open', 'ip', 'config'] ['open', 'ip', 'config', 'open', 'ip', 'config', 'open', 'ip', 'config'] +号实现的功能和之前的append()方式一样,而*表示重复,后面的的数字表示重复的次数。
python list
function위에서 Python의 목록 방법을 분석했는데 다음과 같습니다. 여전히 Python 목록 목록 함수의 일부이며 일반적인 함수에는 max(list), min(list), len(list) 및 list(seq)가 포함됩니다.
len(list)는 위에서 언급한 목록의 길이입니다. , max(list) 목록의 최대값
min(list) 목록의 최소값list(seq) 튜플을 목록으로 변환 , 우리는 튜플속성
의 기본이 목록과 동일하다는 것을 알고 있습니다. 차이점은 목록은 [] 대괄호를 사용하여 정의되는 반면 튜플은 () 괄호를 사용하여 정의되며 튜플의 요소는 재할당될 수 없습니다. .
예
rree