【无为则无心&Python基础】— 30.Python序列--列表的常用操作(一)

列表的作用是一次性存储多个数据,程序员可以对这些数据进行的操作有:增、删、改、查。

1、查找

(1)通过下标查找

我们可以通过索引(index)来获取列表中的元素。

索引是元素在列表中的位置,列表中的每一个元素都有一个索引,索引是从0开始的整数,列表第一个位置索引为0,第二个位置索引为1,第三个位置索引为2,以此类推。

name_list = ['Tom', 'Lily', 'Rose']

print(name_list[0])  # Tom
print(name_list[1])  # Lily
print(name_list[2])  # Rose

# 如果使用的索引超过了最大的范围,会抛出异常。
# IndexError: list index out of range
print(name_list[3])  # 异常

提示:列表的下标(索引)和字符串下标(索引)的用用法是一样的。包括正负取值,可以参考着字符串一起学习,这里不在通过列表在说明了。

(2)通过方法查找

@1.index( )方法

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

(用法同字符串中index( )方法的用法一样)

语法
列表序列.index(数据, 开始位置下标, 结束位置下标)
快速体验
name_list = ['Tom', 'Lily', 'Rose']

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

注意:如果查找的数据不存在则报错。

@2.count( )方法

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

(用法同字符串中count( )方法的用法一样)

name_list = ['Tom', 'Lily', 'Rose']

print(name_list.count('Lily'))  # 1
@3.len( )方法

len( )方法:获取列表的长度,即列表中元素的个数。(是一个通用方法)

name_list = ['Tom', 'Lily', 'Rose']
name_list_len = len(name_list)
print(name_list_len)  # 3

注意: 获取到的长度的值,是列表的最大索引 + 1。所以以后在用到列表的最大索引的时候,使用len( )-1

(3)判断是否存在

这两个方法都是公共方法,代表列表,元祖,字典,字符串都支持的操作。

in关键字

in:判断指定数据是否存在于列表中,如果在返回True,否则返回False

name_list = ['Tom', 'Lily', 'Rose']

# 结果:True
result = 'Lily' in name_list
print(result)

# 结果:False
result1 = 'Lilys' in name_list
print(result1)
not in关键字

not in:判断指定数据是否不在某个列表序列,如果不在返回True,否则返回False

name_list = ['Tom', 'Lily', 'Rose']

# 结果:False
result = 'Lily' not in name_list
print(result)

# 结果:True
result1 = 'Lilys' not in name_list
print(result1)
体验案例

需求:判断用户输入的名字是否已经存在,如果存在,提示用户已存在,否则提示可以注册。

name_list = ['Tom', 'Lily', 'Rose']

name = input('请输入您要搜索的名字:')

if name in name_list:
    print(f'您输入的名字是{name}, 名字已经存在')
else:
    print(f'您输入的名字是{name}, 名字不存在')

2、增加

作用:增加指定数据到列表中。

@1.append( )方法

append( )方法:向列表的结尾添加一个元素。

语法
列表序列.append(数据)
体验
"""
输出结果:
修改前: ['Tom', 'Lily', 'Rose']
修改后: ['Tom', 'Lily', 'Rose', '孙悟空']
"""
name_list = ['Tom', 'Lily', 'Rose']
print("修改前:", name_list)
name_list.append('孙悟空')
print("修改后:", name_list)

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

追加一个序列

如果append( )方法追加的数据是一个序列,则追加整个序列到列表的结尾。

"""
输出结果:
修改前: ['Tom', 'Lily', 'Rose']
修改后: ['Tom', 'Lily', 'Rose', ['孙悟空', '猪八戒']]
"""
name_list = ['Tom', 'Lily', 'Rose']
print("修改前:", name_list)
name_list.append(['孙悟空','猪八戒'])
print("修改后:", name_list)

@2.extend( )方法

extend( )方法:列表结尾追加数据,数据一定是一个序列,则把数据序列里面的数据拆,开然后逐一追加到列表的结尾。

语法
列表序列.extend(数据)
快速体验
name_list = ['Tom', 'Lily', 'Rose']

"""
1、单个数据
输出结果:
修改前: ['Tom', 'Lily', 'Rose']
修改后: ['Tom', 'Lily', 'Rose', '孙', '悟', '空']
"""
print("修改前:", name_list)
name_list.extend('孙悟空')
print("修改后:", name_list)

"""
2、序列数据
输出结果:
修改前: ['Tom', 'Lily', 'Rose']
修改后: ['Tom', 'Lily', 'Rose', '孙悟空', '猪八戒']
"""
name_list = ['Tom', 'Lily', 'Rose']
print("修改前:", name_list)
name_list.extend(['孙悟空','猪八戒'])
print("修改后:", name_list)


"""
3、extend()方法和+=的效果是一样的
输出结果:
修改前: ['Tom', 'Lily', 'Rose']
修改后: ['Tom', 'Lily', 'Rose', '孙悟空', '猪八戒']
"""
name_list = ['Tom', 'Lily', 'Rose']
print("修改前:", name_list)
name_list += (['孙悟空','猪八戒'])
print("修改后:", name_list)



"""
4、传入非序列数据
输出结果:
异常:
TypeError: 'int' object is not iterable
"""
name_list = ['Tom', 'Lily', 'Rose']
print("修改前:", name_list)
name_list.extend(123)
print("修改后:", name_list)

@3.insert( )方法

insert( )方法:向列表的指定位置插入一个元素。

语法
列表序列.insert(位置下标, 数据)
快速体验
"""
输出结果:
修改前: ['Tom', 'Lily', 'Rose']
修改后: ['Tom', '孙悟空', 'Lily', 'Rose']
"""
name_list = ['Tom', 'Lily', 'Rose']
print("修改前:", name_list)
name_list.insert(1, '孙悟空')
print("修改后:", name_list)
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。