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

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

发布时间:2024-01-12 06:17:03

在Python中,可以使用collections.MutableMapping.items()方法生成包含20对随机键值对的示例。collections.MutableMapping是一个抽象基类,它定义了许多与映射数据类型(如字典)相关的通用操作。

下面的例子演示了如何使用collections.MutableMapping.items()方法创建一个包含20对随机键值对的字典:

import random
from collections.abc import MutableMapping

class RandomMapping(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)

def generate_random_mapping():
    mapping = RandomMapping()
    for _ in range(20):
        key = random.randint(1, 100)
        value = random.random()
        mapping[key] = value
    return mapping

random_mapping = generate_random_mapping()
print(random_mapping.items())

在上面的代码中,我们创建了一个RandomMapping类,它继承自collections.abc.MutableMapping,并实现了__getitem____setitem____delitem____iter____len__这些基本的映射操作。在generate_random_mapping函数中,我们使用random.randint生成一个介于1到100之间的随机整数作为键,使用random.random生成一个随机浮点数作为值,然后将它们添加到RandomMapping对象中。最后,我们使用items()方法获取包含所有键值对的视图,并将其打印出来。

这是一个示例输出:

`

dict_items([(23, 0.13550663003474768), (59, 0.08180801968737172), (64, 0.7622026504157457), (58, 0.051245903209067935), (24, 0.01519060842497498), (31, 0.7380904354389688), (48, 0.6261895220259726), (40, 0.9125007487337069), (56, 0.023260213156880395), (17, 0.3961768977170407), (88, 0.35088344131903825), (93, 0.6590672251282681), (90, 0.6892227911716656), (53, 0.309786289988388), (69, 0.9387848971049941), (72, 0.6319030685709472), (16, 0.6713375131197917), (70, 0.007415034195709046), (77, 0.9000201110706051), (76, 0.9486213197888914)])