@
列表(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