Python中的序列成员资格及最大值,最小值,长度(第5节)


1、序列成员资格

Python中的序列成员资格指的是检查某个元素是否包含在序列中,可以使用“in”关键字检查某个元素是否是序列的成员,即检查某个元素是否在该序列中。

动手练一练:

# 列表
print('列表')
print(7 in [5, 6, 7, 8, 9]) # 输出 True
print("py" in [5, 6, 7, 8, 9]) # 输出 False

print('------这是虚线------')

# 元组
print('元组')
print(7 in (5, 6, 7, 8, 9)) # 输出 True
print("py" in (5, 6, 7, 8, 9)) # 输出 False

print('------这还是虚线------')

# 字符串
print('字符串')
print("7" in "56789") # 输出 True
print("py" in "56789") # 输出 False

执行以上代码,输出结果为:

列表
True
False
------这是虚线------
元组
True
False
------这还是虚线------
字符串
True
False

上面的例子中,使用运算符“in”来判断。“in”运算符会判断左边的元素是否包含在右边的序列中,如果包含就返回Ture(真),如果不包含则会返回False(假),注意:只有当元素的类型和值都完全一致,才算包含,数字7和字符串“7”是两种不同类型的元素,例如:

动手练一练:

# 字符串
print("字符串")
print("7" in "56789") # 输出 True
print(7 in "56789")   # 输出错误提示

执行以上代码,输出结果为:

TypeError: 'in ' requires string as left operand, not int

上面的例子中,结果输出错误提示:“类型错误”,“in”需要字符串作为左操作数,而不是整数类型。注意上面第四行中的整数7没有加引号,不是字符串“7”,所以不能判断整数7是否包含在字符串“56789”中。“in”操作符右边是字符串,那么左边也必须是字符串。

2、序列最大值,最小值,长度

Python还提供一些通用方法可以计算序列的长度、最大值、最小值,对于操作序列非常方便,例如:

动手练一练:

a = [4, 5, 6, 7]
print('列表')
print('列表长度', len(a)) # 输出 4
print('列表最大值', max(a)) # 输出 7
print('列表最小值', min(a)) # 输出 4
print('列表求和', sum(a)) # 输出 22

print('------这是虚线------')

# 元组
b = (4, 5, 6, 7)
print('元组')
print('元组长度', len(b)) # 输出 4
print('元组最大值', max(b)) # 输出 7
print('元组最小值', min(b)) # 输出 4
print('元组求和', sum(b)) # 输出 22

print('------这还是虚线------')

# 字符串
c = "4567"
print('字符串')
print('字符串长度', len(c)) # 输出 4
print('字符串最大值', max(c)) # 输出 7
print('字符串最小值', min(c)) # 输出 4

执行以上代码,输出结果为:

列表
列表长度 4
列表最大值 7
列表最小值 4
列表求和 22
------这是虚线------
元组
元组长度 4
元组最大值 7
元组最小值 4
元组求和 22
------这还是虚线------
字符串
字符串长度 4
字符串最大值 7
字符串最小值 4

上面的例子中,使用max()函数返回序列中的最大元素,使用min()函数返回序列中的最小元素,使用len()函数计算序列的长度,即返回序列中包含了多少个元素,使用sum()函数可以对序列求和。但是要注意的是sum()函数只能处理数值型列表或元组,如果您的列表或元组中包含了其他类型的参数(例如字符串),则会返回错误,因为字符串里面都是文本,所以sum()函数无法对文本求和。