列表(list)与元组(tuple)

1、列表

语法格式:列表名 = [元素1, 元素2, ..., 元素n]

1.1、访问列表中的元素

访问列表中的元素方法与访问字符串中的元素类似,通过下标来实现元素的访问

格式: 列表名[下标]

注:1、下标从0开始,默认从左往右数

        2、下标可以为负数,当下表为负数时,表示方向从右往左

1.2、列表的截取

语法格式:列表[[起始下标start]:[结束下标stop][:][递增基数step]]

说明:

start:截取列表的起始位置(包含),可以省略该参数,默认值为0

stop:截取列表的结束位置(不包含),可以省略该参数,默认值为长度-1

step:   步长,间隔数,默认值为1,可以写负数

1.3、判断了列表中是否含有某元素

in 和 not   in  可用于判断列表中是否包含某元素

例:   list0 = [0, 1, 2, 3, 4, 5, 6]

           print(5 in list0)       # 返回True

           print(7 in list0)       # 返回False

1.4、列表的增删改查

1.4.1、增

1、list.append(obj): 将obj作为一个整体添加到list列表中(末尾) obj为任意数据类型

2、list.extend(iter):在列表末尾一次性追加iter里面所有的元素(将iter中的元素拆开添加)   iter为集合类型

3、list.insert(index, obj): 在指定的index下标位置新增元素,该下标原来的数据不会被覆盖,原数据一次向后顺移

1.4.2、删

1、list.pop([index]):  溢出指定index位置的元素,如果不指定index,默认删除最后一个元素 

注:pop有返回值

例:     list0 = [1, 2, 3, 4, 5]

            print(list0.pop)         # 返回 5

            print(lst0)                # 返回  [1, 2, 3, 4]

2、list.remove(obj):   删除匹配到的第一个obj,删除的元素要求在列表中存在,不存在直接报错

3、list7.clear():  清除列表中所有的元素

1.4.3、改

列表为可变数据类型,可通过下标直接修改列表内的元素

例:  list0 = [1, 1, 3]

         list0[1] = 2

         print(list0)          # 返回[1, 2, 3]

1.4.4、查

list.index(obj[,begin,end]) 从list中查找第一个匹配到的下标,如果指定begin和end,再该范围内查找

注:  使用index查询,列表中必须包含该元素,否则报错

1.5、列表中元素出现的次数,及列表的排序

1、list.count(obj)     返回list中出现的obj次数

2、列表的排序

list.sort( [reverse=bool] ) 将列表中的元素排序,默认升序 (bool默认为False)   当bool为True,降序

3、列表反转

list.reverse()   将列表中的元素反转

1.6、n维数组

list中的元素类型还是list类型

list0 = [1, 2, 3]       # 一维数组

list1 = [[1, 2, 3],[4, 5, 6]]    # 二维数组

list2 = [[[1, 2],[3, 4]],[[5, 6],[7, 8]]]   # 三维数组

1.7、列表的拷贝

1、浅拷贝(同一个地址,拥有不同的名称)

list1 = [1, 2, 3]

list2 = list1 .     # 浅拷贝

若list1 (或list2) 发生 变化,对应的list2(或list1)也会发生相同的变化,即相当于list2为list1的小名

2、深拷贝(仿深拷贝):复制数据,将复制的数据放到新的内存地址中

 注:列表中的变数据类型的内存地址一样

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

list2 = list1.copy()

list1与list2的内存地址不同,但它们个元素的内存地址相同

3、深拷贝:初始数据一致,内存地址不一致

import copy

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

arr2 = copy.deepcopy(arr1)

2、元组tuple=(元素1, 元素2...元素n)

元组方法与列表大致类似,但元组为不可变数据类型,不能删除与修改元组中的元素

del 元组名    :可直接删除元组

tuple0 = (1,)   : 当元组中的元素只有一个时,在该元素后面加上逗号,声明这是元组数据类型

3、元组与列表的相互转换

# list -> tuple 将list转化为tuple

list1 = [1, 2, 3]

tu1 =tuple(list1)

print(list1)

print(tu1)

# tuple -> list 将tuple转为list

tu2 = (3, 4, 5)

list2 = list(tu2)

print(tu2)

print(list2)

猜你喜欢

转载自blog.csdn.net/pyrans/article/details/81432912