在python中,我们有数据类型dict,这里我们将用一个类来模拟实现dict。在类mydcit中,我们用两个列表keyList和valueList分别存放dict中的key和value,其中keyList[i]对应valueList[i],现在需要完成以下三个方法: get_value:该方法根据key打印对应的value。该方法将接收一个key参数,返回值为None。若keyList中拥有key,读取key在keyList中的下标i,打印输出valueList[i];否则打印输出get failed。 delete:该方法根据key删除对应的value。该方法将接收一个key参数,返回值为None。若keyList中拥有key,读取key在keyList中的下标i,删除keyList[i]和valueList[i];否则打印输出delete failed。 update:该方法用于实现字典的键值对更新。该方法将接收一对key和value参数,若keyList中拥有key,读取key在keyList中的下标i,更新valueList[i]为value;否则将key和value分别添加到keyList和valueList的队尾。 注: 下列程序在生成mydict时,将保证keyList中数据互不相同; 下列程序凭借系统输入的随机种子随机生成list; 请复制下列代码并补充TODO部分。 请不要修改if __name__ == '__main__:及其后的语句.
时间: 2023-12-03 18:45:16 浏览: 87
```python
import random
class mydict:
def __init__(self, keyList, valueList):
self.keyList = keyList
self.valueList = valueList
def get_value(self, key):
if key in self.keyList:
i = self.keyList.index(key)
print(self.valueList[i])
else:
print("get failed")
def delete(self, key):
if key in self.keyList:
i = self.keyList.index(key)
del self.keyList[i]
del self.valueList[i]
else:
print("delete failed")
def update(self, key, value):
if key in self.keyList:
i = self.keyList.index(key)
self.valueList[i] = value
else:
self.keyList.append(key)
self.valueList.append(value)
if __name__ == '__main__':
random.seed(1)
keyList = random.sample(range(100), 10)
valueList = random.sample(range(100), 10)
d = mydict(keyList, valueList)
print("初始状态:")
for i in range(10):
d.get_value(keyList[i])
print("删除操作:")
for i in range(10):
d.delete(keyList[i])
print("删除后状态:")
for i in range(10):
d.get_value(keyList[i])
print("更新操作:")
for i in range(10):
d.update(keyList[i], valueList[i]+100)
print("更新后状态:")
for i in range(10):
d.get_value(keyList[i])
```
阅读全文