Task4 列表
Task4 列表
创建列表
创建一个列表,只要把逗号分隔的不同的数据项使用方括号括起来。如[1,2,3,4,5]
列表索引从0开始
创建普通列表
number = [1, 2, 3, 4, 5 ]
创建混合列表
mix = [1,'呆呆',3.14,[5,6,7]]
创建空列表
empty = []
向列表添加元素
append()方法
append()方法向列表的尾部添加一个新的元素。
list.append(obj) obj是添加到列表尾部的对象
name = ['土同学','呆同学']
name.append('老铁')
print(name)
# 输出结果为name = ['土同学','呆同学','老铁']
append是属于list列表的方法,所以使用“.”作用域来限制。
extend()方法
extend() 函数用于在列表末尾用一个列表扩展另一个列表,它的参数是一个列表。
list.extend(seq) seq是 元素列表。
name = ['土同学','呆同学']
name.extend(['老铁','猪烧鱼','啤酒鸭'])
print(name)
#输出结果为['土同学', '呆同学', '老铁', '猪烧鱼', '啤酒鸭']
insert()方法
insert() 函数用于将指定对象插入列表的指定位置。
list.insert(index, obj) index是插入的索引位置,obj是要插入列表的对象
现有一个列表
name = ['土同学','呆同学']
要想将’老铁’插入到第一个位置,不应该写
name.insert(1,‘老铁’)
而是
name.insert(0,‘老铁’)
因为列表的索引从0开始。
name = ['土同学','呆同学']
name.insert(0,'老铁')
print(name)
#输出结果为['老铁', '土同学', '呆同学']
从列表中获取元素
还是name这个列表
name = ['老铁', '土同学', '呆同学']
print(name[0])
#输出结果: 老铁
利用列表分片一次性获取多个元素
list[start,stop] #start为开始的索引值,stop为结束的索引值
name = ['土同学', '呆同学', '老铁', '猪烧鱼', '啤酒鸭']
print(name[1:3])
#输出结果:['呆同学', '老铁']
print(name)
#输出结果:['土同学', '呆同学', '老铁', '猪烧鱼', '啤酒鸭']
↑说明列表分片得到的是列表的拷贝,并不改变原列表的值
print(name[1:])
↑结果是从索引为1(即第二个元素)到最后一个元素
print(name[:3])
↑结果是从索引为0(即第一个元素)到第3个元素
print(name[:])
↑结果是得到了列表的拷贝,从第一个元素到最后一个元素
list[start:stop:step]
若step=-1,相当于将列表反向
name = ['土同学', '呆同学', '老铁', '猪烧鱼', '啤酒鸭']
print(name[1:4:2])
#输出结果:['呆同学', '猪烧鱼']
从列表删除元素
remove()
list.remove(obj)
remove() 函数用于移除列表中某个值的第一个匹配项。
name = ['老铁', '土同学', '呆同学']
name.remove('土同学')
print(name)
#输出结果:['老铁', '呆同学']
pop()
用于移除列表中的一个元素(默认最后一个元素),并且返回该元素的值。
list.pop()
要移除列表元素的索引值,不能超过列表总长度,默认为 index=-1,删除最后一个列表值。
del 语句
不是函数也不是方法
del name[1] #删除单个对象
del name #删除整个列表
del name[0,2] #删除索引第0-2的对象
列表常用操作符
比较操作符
“>” “<”
list1 = ['a','b','c']
list2 = ['z','x','y']
print(list1<list2)
#输出结果:True
逻辑操作符
“==”
list1 = ['a','b','c']
list2 = ['z','x','y']
print(list1==list2)
#输出结果:False
只有成员、成员位置都相同时返回True
连接操作符
“+”
list1 = ['a','b','c']
list2 = ['z','x','y']
print(list1+list2)
#输出结果:['a', 'b', 'c', 'z', 'x', 'y']
“+”两边对象类型要一致
重复操作符
“*”
list1 = ['a','b','c']
print(list1*3)
#输出结果:['a', 'b', 'c', 'a', 'b', 'c', 'a', 'b', 'c']
成员关系操作符
in
not in
list1 = ['a','b','c']
print('a' in list1)
#输出结果:True
list1 = ['a','b','c']
print('c'not in list1)
#输出结果:False
count()方法
list.count(obj)
index()方法
①list.index(x)
②list.index(x, start)
③list.index(x, start, end)
x-- 查找的对象。
start-- 可选,查找的起始位置。
end-- 可选,查找的结束位置。
该方法返回查找对象的索引位置,如果没有找到对象则抛出异常。
reverse()方法
list.reverse()
对列表的元素进行反向排序。
sort()方法
list.sort(cmp=None, key=None, reverse=False)
cmp – 可选参数, 如果指定了该参数会使用该参数的方法进行排序。
key – 主要是用来进行比较的元素,只有一个参数,具体的函数的参数就是取自于可迭代对象中,指定可迭代对象中的一个元素来进行排序。
reverse – 排序规则,reverse = True 降序, reverse = False 升序(默认)。
练习题
1、列表操作练习
lst = [2,5,6,7,8,9,2,9,9]
lst.append(15)
lst.insert(4,20)
lst.extend([2,5,6])
lst.pop(3)
lst=lst[::-1]
lst.sort()
lst.reverse()
print(lst)
2、lst = [1, [4, 6], True]
将列表里所有数字修改成原来的两倍
lst = [1,[4,6],True]
def Ye(lst):
for i,value in enumerate(lst):
if isinstance(value,bool):
continue
if isinstance(value, int):
lst[i] = lst[i] * 2
if isinstance(value,list):
Ye(value)
Ye(lst)
print(lst)
附:
Python 定义函数使用 def 关键字
def 函数名(参数列表):
函数体
3、还没整明白
上一篇: 街景字符编码识别赛事Task4
下一篇: 有关task4的学习和疑问