默默地来

六、列表

本文有很多函数调用案例,只有代码,没有输出结果,请自行复制查看结果。

<1.序列

1)概念:序列是Python中最基本的一种数据结构。

2)数据结构:数据结构指的就是计算机中数据的存储方式。

3)分类:可变序列和不可变序列。

4)列表属于可变序列。

<2.列表的创建

方法一:

lis=['a','b','c','d','e']

方法二:

lis=list('abcde')

上面两种方法打印出来结果是一样的。

<3.列表常用操作

1)取值:利用索引的方法取值,列表第一个值索引为0,如果索引不存在则程序报错,例如:取字母a,并打印,这里的代码两步的操作合并到一起,下同。

print(v=lis[0])

2)修改:通过上面索引的方法,直接赋值,如果索引不存在则报错。例如:修改a为c,并打印。

print(v=(lis[0]='c'))

3)删除:

第一种,使用del()函数直接通过索引删除。例如:删除b。

del lis[1]
print(lis)

第二种,remove()方法删除,无返回值,如果删除的列表元素不存在,则报错。

lis.remove('e')
print(lis)

第三种,pop()方法删除,通过传递索引值删除对应元素,无参默认删除最后一个。

print(lis.pop())
print(lis)

<4.特殊操作

1)列表拼接:

方法一:和字符串拼接相似,利用加号直接拼接。

lis1=['1','2']
lis2=['3','4']
lis3=lis1+lis2
print(lis3)

方法二:使用__add__()魔法方法进行拼接。

lis1=['1','2']
lis2=['3','4']
lis1.__add__(lis2)
print(lis1)

2)乘法操作:列表和整数相乘,乘以多少,列表中的元素就重复多少次,如果是浮点数则报错。

方法一:直接使用*相乘。

lis1=['1','2']
lis1=lis1*2
print(lsi1)

方法二:使用__imul__()魔术方法,传进想要乘的数字即可,与__add__()相同,这里不给代码。

3)判断元素是否在列表内部:使用 in来判断,如果存在返回Ture,不存在返回False。注意:此处的‘1’和数字1不同。

lis1=['1','2']
a='1' in lis1
print(a)

4)迭代:使用for-in迭代器。

lis1=['1','2']
for i in lis1:
  print(i)

 

<5.常用函数

1)len():求列表长度,直接传进列表名即可。

lis1=['1','2']
print(len(lis1))

2)max():求最大值,使用方法同上,这里比较的是ascii值得大小,如果是数值,则直接比较数值大小,数值和字符不能比较,会报错。

lis1=['1','2','a']
print(max(lis1))

3)min():求最小值,同上。

4)类型转换:定义了一个字符串,通过list()直接转换为列表。

lis1='12345qwert'
print(list(lis1))

5)sort():比较ascii大小进行降序排序,无返回值,数值和字符不能在一起排序,会报错。

lis1=['1','2','t']
lis1.sort()
print(lis1)

6)reverse():反转列表,可以给sort()传递参数,进行降序排序。

lis1=['1','2','t']
#lis1.sort(-1)
lis1.reverse()
print(lis1)
lis1=['1','2','t']
lis1.sort(reverse=True)
print(lis1)

<6.内置操作

1)切片:语法:list[start:end;step],start代表起点索引,end代表终点索引,step代表步长(两元素相隔距离)。省略start,默认从头开始,省略end默人直接到结束,省略step默认为1,区间是左闭右开的。

lis1=['1','2','t','f',4,23,53]
print(lis1[3:6])

输出结果为['f',4,23]

lis1=['1','2','t','f',4,23,53]
print(lis1[::2])

输出结果为['1', 't', 4, 53]

2)appen()方法:添加一个对象到末尾,无返回值,

lis1=['1','2','t','f',4,23,53]
lis1.append(232)
print(lis1)

3)count()方法:统计参数出现的次数,参数为要查找次数的元素。

lis1=['1','2','t','f',4,23,53]
print(lis1.count('1'))

4)extend()方法:与append()方法类似,区别看下面的例子。

lis1=['1','2','t','f',4,23,53]
lis1.append([1])
print(lis1)
lis1=['1','2','t','f',4,23,53]
lis1.extend([1])
print(lis1)

第一个输出结果为['1', '2', 't', 'f', 4, 23, 53, [1]]

第二个输出结果为['1', '2', 't', 'f', 4, 23, 53, 1]

5)insert()方法:根据索引位置添加一个元素,第一个参数为索引,第二个参数为要添加的元素。

lis1=['1','2','t','f',4,23,53]
lis1.insert(2,'2e32')
print(lis1)

6)copy()方法:浅拷贝(还有深拷贝,这里不多介绍,会用即可)。

lis1=['1','2','t','f',4,23,53]
li=lis1.copy()
print(li)

7)clear()方法:清空列表。

lis1=['1','2','t','f',4,23,53]
lis1.clear()
print(lis1)

 

posted on 2019-10-14 19:40  默默地来  阅读(103)  评论(0编辑  收藏  举报

导航