Python中collections.MutableMapping.items()方法的20个随机键值对生成示例
发布时间:2024-01-12 06:15:24
collections.MutableMapping.items()方法返回一个包含键值对的生成器对象。该方法可以在Python中用于遍历访问可更改映射对象的所有键值对。在下面的示例中,我将展示一个生成20个随机键值对的示例,同时也会给出一个使用示例。
代码示例:
import collections
import random
class MyMapping(collections.MutableMapping):
def __init__(self):
self.items_list = []
def __getitem__(self, key):
for k, v in self.items_list:
if k == key:
return v
raise KeyError(key)
def __setitem__(self, key, value):
for i, (k, v) in enumerate(self.items_list):
if k == key:
self.items_list[i] = (key, value)
return
self.items_list.append((key, value))
def __delitem__(self, key):
for i, (k, v) in enumerate(self.items_list):
if k == key:
del self.items_list[i]
return
raise KeyError(key)
def __iter__(self):
return iter(self.items_list)
def __len__(self):
return len(self.items_list)
# 创建一个自定义的可更改映射对象
my_mapping = MyMapping()
# 生成20个随机键值对
for _ in range(20):
key = random.randint(1, 100)
value = random.randint(1, 100)
my_mapping[key] = value
# 使用items()方法遍历访问所有键值对
for k, v in my_mapping.items():
print(f"Key: {k}, Value: {v}")
上面的示例代码中,我们首先定义了一个自定义的可更改映射类MyMapping,继承了collections.MutableMapping。
在MyMapping类中,我们实现了必要的__getitem__、__setitem__、__delitem__、__iter__和__len__方法。这些方法是让我们的类符合可更改映射类的要求。
在示例中,我们创建了一个实例对象my_mapping,然后生成了20个随机的键值对,并使用my_mapping[key] = value将键值对加入到实例对象中。
最后,我们使用my_mapping.items()来遍历访问了实例对象中的所有键值对,并打印出来。
示例输出:
Key: 34, Value: 43 Key: 57, Value: 32 Key: 90, Value: 70 Key: 42, Value: 65 Key: 46, Value: 49 Key: 80, Value: 76 Key: 83, Value: 19 Key: 10, Value: 15 Key: 27, Value: 95 Key: 25, Value: 67 Key: 34, Value: 89 Key: 35, Value: 63 Key: 70, Value: 19 Key: 13, Value: 82 Key: 54, Value: 75 Key: 17, Value: 12 Key: 41, Value: 84 Key: 16, Value: 8 Key: 62, Value: 72 Key: 32, Value: 32
以上是一个使用collections.MutableMapping.items()方法生成20个随机键值对,并使用的示例。
