当前位置: 首页 > news >正文

Python模块练习2(dict)

1.假设存在一个服务器故障报告的集合 fault_reports = {('server1', 'power failure'), ('server2', 'hard disk error'), ('server1', 'network issue')}。创建一个字典,统计每个服务器出现故障的次数


fault_reports = {('server1', 'power failure'),('server2', 'hard disk error'),('server1', 'network issue')}
#创建字典
fault_dict={}
count=0
for server,fault in fault_reports:#判断服务器是否在字典中if server not in fault_dict:fault_dict[server]=0else:fault_dict[server]+=1
print(fault_dict)

2.假设有一个服务器的配置信息字典 server_configs = {'server1': {'cpu': 'Intel i7', 'ram': '16GB', 'storage': '1TB'}, 'server2': {'cpu': 'AMD Ryzen 9', 'ram': '32GB', 'storage': '2TB'}}。创建一个新的字典,其中键是服务器名称,值是服务器的总存储容量(以 GB 为单位)


server_configs = {'server1': {'cpu': 'Intel i7', 'ram': '16GB', 'storage': '1TB'},'server2': {'cpu': 'AMDRyzen 9', 'ram': '32GB', 'storage': '2TB'}}new_server_information={}for server ,config in server_configs.items():storage_GB=int(config['storage'][:-2])*1024new_server_information[server]=storage_GBprint(new_server_information)

3.给定一个网络流量数据的列表 traffic_data = [('morning', [100, 200, 150]), ('afternoon', [300, 400, 350]), ('evening', [250, 300, 280])]。将其转换为一个字典,键是时间段,值是该时间段的平均流量。


traffic_data = [('morning', [100, 200, 150]),('afternoon', [300, 400, 350]),('evening', [250, 300, 280])]traffic_dict={}for time , traffic in traffic_data:
#计算平均流量average_traffic_day=sum(traffic)/len(traffic)traffic_dict[time]=average_traffic_dayprint(traffic_dict)

4.给定一个网络设备及其端口的字典 device_ports = {'router1': [80, 443, 22], 'switch1': [1000, 2000, 3000]}。创建一个新的字典,键是设备名称,值是端口的总和。


device_ports = {'router1': [80, 443, 22],'switch1': [1000, 2000, 3000]}device_dict={}for device,ports in device_ports.items():
#求端口总和total_ports=sum(ports)
#将计算好的端口总和添加到字典中device_dict[device]=sum_portsprint(device_dict)

5.有一个服务可用性的列表 service_availabilities = [('service1', [True, False, True]), ('service2', [False, True, True])]。计算每个服务的可用率(可用次数除以总次数),并将结果存储在一个新的字典中。


service_availabilities = [('service1', [True, False, True]),('service2', [False, True, True])]
serve_ava={}for service,available in service_availabilities:count=0
#如果服务可用,就计算其数量for ch in available:if ch:count+=1available_rate=count/len(available)serve_ava[service]=available_rateprint(serve_ava)

6.已知一个子网及其可用 IP 地址的元组列表 subnet_ips = [('192.168.1.0/24', ['192.168.1.10', '192.168.1.20', '192.168.1.30']), ('10.0.0.0/16', ['10.0.0.50', '10.0.1.100'])]。创建一个新的字典,键是子网,值是可用 IP 地址的数量。


subnet_ips = [('192.168.1.0/24', ['192.168.1.10', '192.168.1.20', '192.168.1.30']),('10.0.0.0/16', ['10.0.0.50', '10.0.1.100'])]net_dict={}for subnet,count in subnet_ips:net_dict[subnet]=len(count)print(net_dict)

7.给定一个网站访问来源的集合 visit_sources = {('www.example1.com', 'Google'), ('www.example2.com', 'Bing'), ('www.example1.com', 'Facebook')}。创建一个字典,统计每个网站的不同访问来源数量。


isit_sources = {('www.example1.com', 'Google'),('www.example2.com', 'Bing'),('www.example1.com', 'Facebook')}visit_count={}for web,source in isit_sources:if web not in visit_count:visit_count[web]=1else:visit_count[web]+=1print(visit_count)

8.假设存在一个服务器及其连接设备的元组列表 server_devices = [('server1', ['device1', 'device2']), ('server2', ['device3', 'device4'])]。创建一个字典,键是服务器名称,值是连接设备的数量。


server_devices = [('server1', ['device1', 'device2']),('server2', ['device3', 'device4'])]
device_dict={}for server,device in server_devices:count_device=len(device)device_dict[server]=count_deviceprint(device_dict)

9.有一个服务端口及其安全等级的字典 port_security = {80: 'low', 443: 'medium', 22: 'high'}。创建一个新的字典,键是安全等级,值是对应的端口列表。


port_security = {80: 'low', 443: 'medium', 22: 'high'}security_port={}for port, security in port_security.items():security_port[security]=portprint(security_port)

10.假设存在一个服务器及其运行服务的元组列表 server_services = [('server1', ['web', 'db', 'mail']), ('server2', ['file', 'print'])]。创建一个字典,键是服务名称,值是运行该服务的服务器列表。


server_services = [('server1', ['web', 'db', 'mail']),('server2', ['file', 'print'])]services_server={}for server services in server_services:for service in services:services_server[service]=serverprint(services_server)

11.给定一个用户流量使用情况的字典 user_traffics = {'user1': {'upload': 500, 'download': 1000}, 'user2': {'upload': 300, 'download': 800}}。找出上传和下载流量总和超过 1000 的用户。


user_traffics = {'user1': {'upload': 500, 'download': 1000},'user2': {'upload': 300, 'download': 800}}
result={}for user, traffic in user_traffics.items():total_traffic=traffic['upload'] + traffic['download']if total_traffic >1000 :result[user] = total_trafficprint(result)

12.有一个网站访问日志的集合 visit_logs = {('www.example1.com', '2023-09-01 10:00'), ('www.example2.com', '2023-09-01 11:00'), ('www.example1.com', '2023-09-01 12:00')}。创建一个字典,统计每个网站的访问次数。


visit_logs = {('www.example1.com', '2023-09-01 10:00'),('www.example2.com', '2023-09-01 11:00'),('www.example1.com', '2023-09-01 12:00')}count_visit={}for website,time in visit_logs:if website not in count_visit:count_visit[website]=1else:count_visit[website]+=1print(count_visit)


http://www.mrgr.cn/news/71869.html

相关文章:

  • arcgis for js实现popupTemplate弹窗field名称和值转义
  • MySQl基础----Linux下数据库的密码和数据库的存储引擎(内附 实操图和手绘图 简单易懂)
  • PCL 点云分割 基于超体素的分割
  • 线上问题的排查之MySQL死锁如何排查
  • 25浙江省考-专项刷题(资料分析)-错题本
  • 力扣 LeetCode 142. 环形链表II(Day2:链表)
  • 字节青训-多米诺骨牌均衡状态、红包运气排行榜
  • SQL练习(2)
  • Python 进阶函数教程
  • xxl-job报错Connection refused: connect(连接被拒绝)
  • PostgreSQL序列:创建、管理与高效应用指南
  • 【MySQL】数据库知识突破:数据类型全解析与详解
  • Pandas中astype() 方法
  • 「Mac玩转仓颉内测版5」入门篇5 - Cangjie控制结构(上)
  • 大数据 ETL + Flume 数据清洗 — 详细教程及实例(附常见问题及解决方案)
  • 10款视频剪辑工具使用感受与适用场景推荐!!!!
  • kaggle 如何利用API下载数据集
  • Linux驱动开发(5):平台设备驱动
  • Java 网络通信之 Socket 编程全解析
  • 番外篇 | 关于YOLO11算法的改进点总结