凡是过往,皆为序章

0%

Python_3(列表元组)

基于上次对选择循环结构,和字符串的基础知识介绍,这篇博客总结列表元组的使用。


一、列表

列表用来一次性存储多个数据。

1、列表格式

1
[数据1, 数据2, 数据3, 数据4...];

列表存储的多个数据可为不同类型,但为了相关操作,尽量存储相同数据类型的数据。

2、列表的常用操作

对列表中的多个数据实现增、删、改、查等基本操作。

查找

下标

1
2
3
4
5
6
name_list = ['Tom','Rose','Lily'];
print(name_list[1]); # Rose
print(name_list[-1]);# Lily

list2 = ['hello'] * 3
print(list2) # ['hello', 'hello', 'hello']

函数

  • index():返回指定数据所在位置的下标

    语法:

    1
    列表序列.index(数据,开始位置下标,结束位置下标) #如果不写开始结束下标,则代表全部

    例子:

    1
    print(name_list.index('Lily',0,2)) #2

    注意:如果找不到数据则会报错

  • count():统计指定数据在当前列表中出现的次数

    1
    print(name_list.count('Lily')); #1
  • len():访问列表长度,即列表中数据的个数

    1
    print(len(name_list)); #3

    len()是一个公共函数,字符串、列表等都可以用该方法统计个数

判断指定数据是否存在

  • in:判断指定数据存在于列表序列中,返回bool
  • not in:相反。
1
print('Tom' in name_list); #True

增加

增加数据到列表中

  • append():列表结尾追加数据

    语法:

    1
    列表序列.append(数据)

    例子:

    1
    2
    name_list.append('xiaoming');
    print(name_list) #['Tom','Rose','Lily','xiaoming']

    列表追加数据的时候,直接在原列表里面追加了指定数据,即修改了原列表,故列表为可变数据类型

  • extend():结尾追加数据,如果数据是一个序列,则将这个序列的数据逐一添加到列表中

    语法:

    1
    列表序列.extend(数据)

    例子:

    1
    2
    name_list.extend('xiaoming'); #['Tom','Rose','Lily','x','i','a','o','m','i','n','g']
    name_list.extend(['xiaoming','xiaoming']) #['Tom','Rose','Lily','xiaoming','xiaoming']
  • insert():指定位置新增序列

    语法:

    1
    列表序列.insert(位置下标,数据)

    例子:

    1
    name_list.insert(1,'xiaoming') #['Tom','xiaoming','Rose','Lily']

删除

  • del

    语法:

    1
    del 目标

    例子:

    1
    2
    3
    4
    # 删除指定数据
    del name_list[0]
    # 删除列表
    del name_list
  • pop():删除指定下标的数据(默认最后一个),并返回该数据。

    语法:

    1
    列表序列.pop(下标)

    例子:

    1
    2
    del_name = name_list.pop(1) # Rose
    print(name_list) # ['Tom','Lily']
  • remove():移除列表中某个数据的第一个匹配项。

    语法:

    1
    列表序列.remove(数据)

    例子:

    1
    name_list.remove('Rose')  # ['Tom','Lily']
  • clear():清空列表

    1
    2
    name_list.clear()
    print(name_list) # 结果:[]

修改

  • 修改指定下标数据

    1
    name_list[0] = 'Test' # ['Test','Rose','Lily']
  • 逆置:reverse()

    1
    2
    num_list = [1,2,3]
    num_list.reverse() # [3,2,1]
  • 排序:sort()

    语法:

    1
    列表序列.sort(key=None, reverse=False)

    注意:reverse表示排序规则,reverse = False 升序(默认),reverse = True 降序,

    例子:

    1
    num_list.sort(reverse=True) # 降序,[3,2,1]

复制

函数:copy()

1
list1 = name_list.copy()

其他

和字符串一样,也可切片等。

3、列表的循环遍历

while

1
2
3
4
i = 0 
while i < len(name_list):
print(name_list[i])
i += 1

for

1
2
for i in name_list:
print(i)

4、列表嵌套

1
num_list = [[1,2,3],[4,5,6],[7,8,9]];

二、元组

一个元组可以存储多个数据,元组内的数据是不能修改的。

1、定义

1
2
t1 = (1,2,3) #定义多个数据的元组
t2 = (1,) #定义单个数据元组

注意:一个数据的元组,后面最好跟上一个逗号,否则数据类型为唯一的。

1
2
3
t3 = (1,) #tuple
t4 = (1) #int
t5 = ('hello') #str

2、元组的常见操作

元组数据不支持修改,只支持查找操作,具体如下:

  • 按下标查找数据
  • index()
  • count()
  • len()

与上述介绍列表查找方法基本相同。

3、元组数据的修改

  • 元组内的直接数据如果修改则报错

    1
    2
    tuple1 = (1,2,3)
    tuple1[1] = 1 #报错
  • 如果元组内有列表,修改列表里的数据则是支持的

    1
    2
    tuple2 = (1,2,[1,2,3],4)
    tuple2[2][0] = 0 #支持

尽量不要修改元组内的数据

~感谢你请我吃糖果~
-------------本文结束,感谢您的阅读,欢迎评论留言!-------------