欢迎访问宙启技术站
智能推送

Python中collections.MutableMapping.items()方法生成的20个随机键值对应用示例

发布时间:2024-01-12 06:12:41

collections.MutableMapping是一个Python标准库中的类,它提供了一种实现映射(Mapping)对象的基础架构。通过继承MutableMapping类,可以方便地创建自定义的映射对象。

items()方法是collections.MutableMapping类的一个成员方法。它返回一个包含映射对象中所有键值对的可迭代对象。每个键值对都以元组的形式表示。这个方法可以用于迭代映射对象中的所有键值对,并对它们进行处理。

下面是一个使用items()方法的示例,其中生成了20个随机的键值对,并使用循环遍历打印出每个键值对的内容:

import random
from collections import MutableMapping

# 自定义映射类
class MyMapping(MutableMapping):
    def __init__(self):
        self._data = {}

    def __getitem__(self, key):
        return self._data[key]

    def __setitem__(self, key, value):
        self._data[key] = value

    def __delitem__(self, key):
        del self._data[key]

    def __iter__(self):
        return iter(self._data)

    def __len__(self):
        return len(self._data)

# 创建自定义映射对象
mapping = MyMapping()

# 生成20个随机键值对
for i in range(20):
    key = random.randint(1, 100)
    value = random.randint(1, 100)
    mapping[key] = value

# 使用items()方法遍历打印每个键值对的内容
for key, value in mapping.items():
    print(f'Key: {key}, Value: {value}')

运行以上代码,将输出形如下列的20行内容:

Key: 38, Value: 62
Key: 40, Value: 67
Key: 72, Value: 65
Key: 55, Value: 57
Key: 3, Value: 62
Key: 58, Value: 98
Key: 77, Value: 41
Key: 98, Value: 83
Key: 52, Value: 74
Key: 15, Value: 87
Key: 33, Value: 11
Key: 75, Value: 97
Key: 19, Value: 84
Key: 47, Value: 7
Key: 99, Value: 87
Key: 62, Value: 51
Key: 53, Value: 26
Key: 89, Value: 89
Key: 100, Value: 81
Key: 56, Value: 13

以上示例中,首先我们定义了一个自定义映射类MyMapping,继承自collections.MutableMapping。然后我们创建了一个MyMapping的实例mapping。之后,我们利用循环生成了20个随机的键值对,并通过__setitem__()方法将它们添加到mapping对象中。

最后,我们使用items()方法遍历打印出每个键值对的内容。在每一次迭代中,键值对都以元组的形式返回,并分别赋值给变量keyvalue。我们利用这些变量可以访问和处理每个键值对的内容。

需要注意的是,collections.MutableMapping类本身是一个抽象基类(ABC),在使用时需要继承并实现其__setitem__()__getitem__()__delitem__()__iter__()__len__()等方法。在上述示例中,我们对这些方法进行了相应的实现。

在实际应用中,我们可以根据具体的需求,自定义自己的映射类,并利用items()方法方便地遍历处理映射对象中的键值对。这可以帮助我们更好地组织和处理数据。