Python全栈(一)基础之7.Python数据结构-列表

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接: https://blog.csdn.net/CUFEECR/article/details/102760974

一、列表的创建

列表:Python中最基本也是最常用的基本数据结构之一,列表中的每一个元素被分配一个数字作为索引(即下标),用来表示该元素该元素在列表内所排的位置,第一个元素索引是0,第二个索引是1,以此类推。
列表是一个有序可重复的集合。
创建列表:
方式一:用函数方式

l = list(iterable)

※可按CTRL键并将鼠标光标直到函数上查看该函数的Python官方说明。
可迭代:可以用for循环即可迭代
参数中传入可迭代的类型如字符串、列表、元祖、字典、集合等
方式二:用方括号

l = [1,2,3,4,5]
print(l)

二、列表的取值&修改&删除

lst = [1,2,3]

1.访问列表内的元素

列表从0开始为它的每一个元素顺序创建下标索引,直到总长度减一。要访问它的某一个元素,以方括号加下标值的方式即可。
※注意要确保索引不越界,一旦访问的索引超过范围,会抛出异常,一定要记得最后一个元素的索引是**len(list)-1**.
※并且索引必须为整型,其他类型会报错。

num = lst[1]
print(num)

会打印出2.

2.修改元素的值。

lst[1] = 'hello'
print(lst)

※不能赋值给列表中不存在的索引
打印

[1, 'hello', 3, 4, 5]

3.删除值

方式一:用del

del lst[0]

方式二:根据值进行删除

lst.remove(3)

删除值为3的这个元素

方式三:根据索引删除

value = lst.pop()
print(value)

该方法有返回值,为删除的元素的值;
可以传参数,如无参数默认弹出最后一个元素,有删除则弹出指定索引的元素。
如传参数为:

value = lst.pop(2)
print(value)

即删除第三个元素。

三、列表的特殊操作

1.

列表组合:直接将两个列表相加,是列表的拼接,不是对应位置相加,

l1 = [1,2,3]
l2 = [4,5,6]
l3 = l1 + l2
print(l3)

打印:

[1, 2, 3, 4, 5, 6]

也可用
l3 = l1.__add__(l2),此为魔法方法,为面向对象的方法。

2.列表的乘法

l4 = l1 * 3

相当于

l4 = l1.__imul__(3)

是将l1重复三次,成为一个列表
两个列表不能直接相乘,否则会报错。

3.判断元素是否在列表内部

用关键词in

print(2 in l1)

4.迭代列表中的每个元素

for i in l1:
    print(i)

四、列表常用方法和排序

1.列表长度

l1 = [1,2,3]
print(len(l1))

相当于

print(l1.__len__())

2.最大值与最小值

l1 = [1,2,3]
print(max(l1),min(l1))

3.类型转换

lst = list('str')

属于强制类型转换

print(type(lst))

※type()函数可以查看变量的类型

4.列表排序

(1)反转

lst = [1,3,2,4]
lis.reverse()
print(lst)

打印出
[4, 2, 3, 1]
很显然,reverse函数对列表进行了改变,不再是原来的列表
in place:修改对象本身

(2)排序

lst.sort()

为默认升序

lst.sort(reverse=True)

降序
排序只能对元素为同种类型的值进行排序,不能对不同类型的值进行排序,要么全为数值型,要么均为字符串。

5.切片

切片即为对序列进行截取,选取序列中的某一段。
语法为:

list[start : end : step]

step为步长,区间为左闭右开

lis = ['a','b','c','d','e']
print(lis[1:3])

打印

['b', 'c']

※省略end取到末尾,省略start从头开始到当前,省略所有复制列表。
※步长为负数时反方向取,即从尾到头取。

6.列表的内置方法

(1)append()

添加一个元素到末尾

lis = ['a','b','c','d','e']
lis.append('e')
print(lis)

打印

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

如参数为列表,则列表作为一个元素添加到之前的列表末尾

(2)count()

对传入的元素进行计数

lis = ['a','b','c','d','e']
print(lis.count('a'))

结果为1

(3)extend()

在列表末尾一次性追加另一个序列中的多个值(用新序列扩展原来的列表)

lis = ['a','b','c','d','e']
lis.extend(['f','g'])
print(lis)

打印出

['a', 'b', 'c', 'd', 'e', 'f', 'g']

(4)insert()

根据索引的位置添加元素

lis = ['a','b','c','d','e']
lis.insert(2,'g')
print(lis)

打印出

['a', 'b', 'g', 'c', 'd', 'e']

(5)copy()

浅复制

lis = ['a','b','c','d','e']
lst = lis.copy()
print(lst)

相当于lst = lis[:]

(6)clear()

清空列表

lis = ['a','b','c','d','e']
lis.clear()
print(lis)

打印
[]
相当于del lis[:]

猜你喜欢

转载自blog.csdn.net/CUFEECR/article/details/102760974
今日推荐