Python Basic - 列表(数组)(List)的使用方法

@目录

列表(List)

- 类似于C语言中的“数组”,将多个相同类型数据存储在一个变量中,“增删查改”的时候使用下标的方式进行引用
- `name = ["ligang","zhangsan","lisi","laoda","laoer","laosan"]`
- 下标从“0”开始的\
name=["zhangwuji","zhaomin","yideng","yangguo","zhaomin","zhaomin","zhangwuji","1","1","1","1"]

"查"

	- name[0]	#只取第一个元素
	- name[0:3]	#取第一个到第3个元素,不包括下标为3个
	- name[1:]	#从下标为1的元素取到最后,:后什么都不加就表示取到最后一个元素
	- name[1:-1]	#从下标为1的元素到倒数第一个元素,也就是最后一个,但是python是左闭右开的区间,所以不包含最右边的元素,所以最后一个(倒数第一个)取不出。中间无论有多少都可以取出来。
	- name[0::2]	#从第一个到最后一个元素隔一个取一个,即取下标为偶数的元素。
	- name[0: -1:2]	#本代码的意思是从第一个元素到倒数第一个元素中隔一个取一个
	- name[3::-2]	# 从下标为3的元素从右往左数,每隔一个取一个
	- name[-2::-1]	#从倒数第二个元素开始直到最后,从右往左全查出来。
	- name[1:-1:-2]	#

2表示步长,就是隔多少个元素取一次值,
步长是有方向的,如果是“-2”则表示,从右往左,所以的顺序就是从右往左取的
本例中-号表示是从右往左的,3表示是下标为3的元素,然后从右往左找到最后,也就是最左边

>>> print(name[0])
zhangwuji
>>> print(name[0:3])
['zhangwuji', 'zhaomin', 'yideng']
>>> print(name[1:])   
['zhaomin', 'yideng', 'yangguo', 'zhaomin', 'zhaomin', 'zhangwuji', '1', '1', '1', '1']

>>> print(name[1:-1]) 
['zhaomin', 'yideng', 'yangguo', 'zhaomin', 'zhaomin', 'zhangwuji', '1', '1', '1']

>>> print(name[0::2])
['zhangwuji', 'yideng', 'zhaomin', 'zhangwuji', '1', '1']

>>> print(name[0:-1:2])
['zhangwuji', 'yideng', 'zhaomin', 'zhangwuji', '1']

>>> print(name[3::-2])
['yangguo', 'zhaomin']

>>> print(name[-2::-1])
['1', '1', '1', 'zhangwuji', 'zhaomin', 'zhaomin', 'yangguo', 'yideng', 'zhaomin', 'zhangwuji']

>>> print(name[1:-1:2])
['zhaomin', 'yangguo', 'zhaomin', '1', '1']

"增"

增加数据的方法:

1. append 	: 直接添加到列表的末尾
	name.append("zhangsanfeng")
			name:为上述的列表名,其实是一个“object”
			append:为增加数据的方法,意义为在此列表的尾部增加一个元素。
			zhangsanfeng:为增加的内容
2. insert		: 往列表中指定位置中插入元素
	name.insert(1,"zhangwuji")
			name:为上述的列表名,其实是一个“object”
			1:列表中的下标,指哪儿插哪儿,这里指定的为1,则插入的元素就在1位置上,原先的元素依次往后挪动。
			zhangwuji :为插入的元素

"改"

name[1]="guojing" # 直接将对应的下标赋值指定的字符串。
name[1:3]=["huangrong","limochou"] # 一次性修改多个值

"删"

1、remove
为列表的内置的一个方法:
name.remove("zhangwuji")
直接指定删除的内容,而不是下标,删除后,其它元素的下标依次往前挪
name.remove("name[1]")

2、pop
name.pop(2)
直接指定下标值
pop删除对应下标的值,可以将对应的值再赋值给另外一个变量
例如:b=name.pop(2)
print(b)
3、del
del name[0]
删除下标为0的值
del name
直接删除这个列表
4、clear()
清空数据

列表的其它操作

count()

用于统计某个元素在列表中出现的次数:
name=["zhangwuji","zhaomin","yideng","yangguo","zhaomin","zhaomin","zhangwuji","1","1","1","1"]
num = name.count("zhaomin")
print(num)

"""
>>> name=["zhangwuji","zhaomin","yideng","yangguo","zhaomin","zhaomin","zhangwuji","1","1","1","1"]
>>> name=["zhangwuji","zhaomin","yideng","yangguo","zhaomin","zhaomin","zhangwuji","1","1","1","1"]
>>> num = name.count("zhaomin")
>>> print(num)
3
>>>
""" 

extend()

用于在列表中追加另外一个列表中的所有元素
name.extend(skill)
	将“skil”这个列表直接附加在“name”这个列表后面

index()

通过值找到对应元素的下标
name.index("zhangwuji")

>>> print(name.index("zhangwuji"))
0
>>> print(name.index("yangguo"))  
3

reverse()

将列表的顺序反过来

>>> print(name)
['1', '1', '1', '1', 'zhangwuji', 'zhaomin', 'zhaomin', 'yangguo', 'yideng', 'zhaomin', 'zhangwuji']
>>> name.reverse()
>>> print(name)
['zhangwuji', 'zhaomin', 'yideng', 'yangguo', 'zhaomin', 'zhaomin', 'zhangwuji', '1', '1', '1', '1']
>>> 

sort()

将列表进行排序,可对数字,也可以对字符串进行排序,默认从小到大,

>>> name.sort()
>>> print(name)
['1', '1', '1', '1', 'yangguo', 'yideng', 'zhangwuji', 'zhangwuji', 'zhaomin', 'zhaomin', 'zhaomin']

name.sort(reverse=True) # 从大到小排序

>>> name.sort(reverse=True)
>>> print(name)
['zhaomin', 'zhaomin', 'zhaomin', 'zhangwuji', 'zhangwuji', 'yideng', 'yangguo', '1', '1', '1', '1']

判断一个元素是否在python列表中

name.count("zhangwuji")

>>> name.count("zhangwuji")
2    #大于0 表示存在

print("zhangwuji" in name)

>>> print("zhangwuji" in name)
True
>>>

判断是否是一个列表

type(name) is list

>>> type(name) is list
True
上一篇:如何做一个消息轰炸机


下一篇:PAT (Basic Level) Practice (中文)1008 数组元素循环右移问题