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)