跳到主要内容

Python len() 函数

len() 函数返回对象中的项目数(长度)。

示例

languages = ['Python', 'Java', 'JavaScript']

# 计算 languages 的长度
length = len(languages)
print(length)

# 输出: 3

len() 语法

len() 的语法是:

len() 参数

len() 函数接受单个参数 s,可以是

  • 序列 - 字符串、字节、元组、列表、范围,或者
  • 集合 - 字典、集合、冻结集

len() 返回值

len() 函数返回对象的项目数。

未传递参数或传递无效参数将引发 TypeError 异常。

示例 1:len() 如何处理元组、列表和范围?

testList = []
print(testList, '长度为', len(testList))

testList = [1, 2, 3]
print(testList, '长度为', len(testList))

testTuple = (1, 2, 3)
print(testTuple, '长度为', len(testTuple))

testRange = range(1, 10)
print('长度为', testRange, '是', len(testRange))

输出

[] 长度为 0
[1, 2, 3] 长度为 3
(1, 2, 3) 长度为 3
长度为 range(1, 10)9

点击这些页面了解更多:

示例 2:len() 如何处理字符串和字节?

testString = ''
print('长度为', testString, '是', len(testString))

testString = 'Python'
print('长度为', testString, '是', len(testString))

# 字节对象
testByte = b'Python'
print('长度为', testByte, '是', len(testByte))

testList = [1, 2, 3]

# 转换为字节对象
testByte = bytes(testList)
print('长度为', testByte, '是', len(testByte))

输出

长度为 0
长度为 Python 是 6
长度为 b'Python'6
长度为 b'\x01\x02\x03'3

点击这些页面了解更多:

示例 3:len() 如何处理字典和集合?

testSet = {1, 2, 3}
print(testSet, '长度为', len(testSet))

# 空集合
testSet = set()
print(testSet, '长度为', len(testSet))

testDict = {1: 'one', 2: 'two'}
print(testDict, '长度为', len(testDict))

testDict = {}
print(testDict, '长度为', len(testDict))

testSet = {1, 2}
# 冻结集合
frozenTestSet = frozenset(testSet)
print(frozenTestSet, '长度为', len(frozenTestSet))

输出

{1, 2, 3} 长度为 3
set() 长度为 0
{1: 'one', 2: 'two'} 长度为 2
{} 长度为 0
frozenset({1, 2}) 长度为 2

点击这些页面了解更多:

内部来看,len() 调用对象的 __len__ 方法。你可以将 len() 理解为:

    return s.__len__()

因此,如果需要,你可以为对象分配自定义长度。

示例 4:len() 如何用于自定义对象?

class Session:
def __init__(self, number = 0):
self.number = number

def __len__(self):
return self.number

# 默认长度为 0
s1 = Session()
print(len(s1))

# 自定义长度
s2 = Session(6)
print(len(s2))

输出

0
6