Python容器模块练习1(list,set)

devtools/2024/11/14 19:50:59/

一.list

1.脚本中有一个存放访问当前服务器的IP地址的列表 ip_adds = ["192.168.0.10","192.168.0.23"],工作过程中有一个新的终端"192.168.0.46"接入服务器,请完成IP地址的追加;延后两分钟后又有两个终端["192.168.0.68", "192.168.0.70"]接入服务器,请完成IP地址的追加;最后打印当前接入服务器的IP地址都有哪些

python">ip_adds=["192.168.0.10","192.168.0.23"]
ip=input()ip_adds.append(ip)
print(ip_adds)

2.有一个临时存放给用户下发邮件的地址列表 email_lst = ['admin@aliyun.com', 'mwb@openedu.com', 'damu@aliyun.com', 'laoliu@126.com', 'wang@openedu.com', 'xxy@openedu.com', 'px@openedu.com'],这个列表中保存了最近10个下发邮件地址(有新的下发任务将地址添加到列表的头部,同时判断如果列表中邮件地址数量超过10个则删除列表中末尾的一个邮件地址);现需要依次给xiaoming@163.com、zhangxp@aliyun.com, wu@126.com, sunyp@openedu.com发送消息,请按照需要将这些邮件地址添加到列表中,并打印最近发送邮件的地址列表信息

python">
email_lst = ['admin@aliyun.com', 'mwb@openedu.com','damu@aliyun.com', 'laoliu@126.com', 'wang@openedu.com','xxy@openedu.com', 'px@openedu.com']
new_emails=['xiaoming@163.com','zhangxp@aliyun.com', 'wu@126.com', 'sunyp@openedu.com']
for new_email in new_emails:#添加地址email_lst.insert(0, new_email)print(new_email)if len(email_lst)>10:email_lst.pop()
print(email_lst)

3.脚本中通过列表保存了当前公司服务器的存储信息(单位:TB) server_disks = [1, 2.6, 1.2, 0.8, 3],请将存储列表的信息转换成GB单位(1TB = 1024GB),最终打印存储信息

python">
server_disks=[1,2.6,1.2,0.8,3]
#列表推导式
new_server_disks=[i*1024 for i in server_disks]
print(new_server_disks)

4.脚本记录了服务器在最近3天的网络数据流量统计信息,每天分别统计了最大流量,最小流量,0-8|8-16|16-24点平均流量信信息:traffic_data = [ [300, 80, 120, 260,100], [280, 90, 100, 288, 90], [220, 70, 120, 240, 100]],请统计最近3天平均流量最高/最低是多少,最高流量峰值和最低流量保障是多少?

python">
traffic_data=[[300,80,120,260,100],[280,90,100,288,90],[220,70,120,240,100]]
average_traffic_day=[]
for i in traffic_data:#计算每天平均流量average=sum(i)/len(i)average_traffic_day.append(average)#找出每天最高平均流量
max_average_traffic=max(average_traffic_day)
min_average_traffic=min(average_traffic_day)
max_traffic=max([max(i) for i in traffic_data])
min_traffic=min([min(i) for i in traffic_data])
print(f"平均流量最高为:{max_average_traffic}")
print(f"平均流量最低为:{min_average_traffic}")
print(f"最高流量峰值为:{max_traffic}")
print(f"最低流量保障为:{min_traffic}")

5.公司后台服务器按照权重进行了数据服务的访问配置,根据主机名称进行了访问记录 access_record = ['data1', 'serv1', 'data1', 'serv2', 'serv1', 'data2', 'data1', 'serv3', 'data3', 'data1', 'serv1'],请编写代码统计那个主机被访问次数最高

python">
access_record = ['data1', 'serv1', 'data1', 'serv2','serv1', 'data2', 'data1', 'serv3','data3', 'data1', 'serv1']
record_dict={}
count=0
for host in access_record:if host in record_dict:record_dict[host]+=1else:record_dict[host]=1
max_count=max(record_dict.values())
most_host=[host for host,count in record_dict.items() if count==max_count]
print(most_host)

二.set

1.项目部两个项目订阅使用了多个云服务cloud1 = {'HC(Huawei Cloud)', 'AWS(Amazon Web Service)', 'OC(Oracle Cloud)', 'MZ(Microsoft Azure)', 'GCP(Google Cloud Platform)'}, cloud2 = {'AC(Alibaba Cloud)', 'TC(Tencent Cloud)', 'HC(Huawei Cloud)', 'MZ(Microsoft Azure)', 'OC(Oracle Cloud)'},找出两个项目组使用的公共的云服务信息,方便后期进行整合管理。

python">
cloud1 = {'HC(Huawei Cloud)', 'AWS(Amazon Web Service)','OC(Oracle Cloud)', 'MZ(Microsoft Azure)','GCP(Google Cloud Platform)'}
cloud2 ={'AC(Alibaba Cloud)', 'TC(Tencent Cloud)','HC(Huawei Cloud)', 'MZ(Microsoft Azure)','OC(Oracle Cloud)'}
print(cloud1 & cloud2)

2.云计算平台上查询到一组服务serv_lst = ['ECX', 'CLOUD', 'CONTAINER', 'STORAGE', 'DB', 'NET', 'PERM', 'CONTAINER', 'DB', 'ECX', 'DB', 'PERM', 'NET', 'ECX', 'CLOUD', 'NET', 'PERM', 'PERM']请将提取到的所有服务标签进行去重操作,并打印服务标签列表信息

python">
serv_lst = ['ECX', 'CLOUD', 'CONTAINER', 'STORAGE','DB', 'NET', 'PERM', 'CONTAINER', 'DB','ECX', 'DB', 'PERM', 'NET', 'ECX', 'CLOUD','NET', 'PERM', 'PERM']
#利用set去重
new_serv_lst=set(serv_lst)print(new_serv_lst)

3.脚本查询检测到最近时间段内的CPU使用率信息

t1 = [0.0, 0.0, 0.0, 0.0, 0.4, 0.0, 0.0, 1.9, 0.0, 0.0, 0.0, 0.0, 3.8, 3.7, 1.0, 0.1, 1.8, 0.2, 0.1, 4.4]; t2 = [0.0, 0.0, 0.0, 0.0, 1.2, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 3.6, 0.0, 1.2, 0.0, 1.2, 1.2, 0.0, 0.0]; t3 = [0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 4.9, 2.9, 1.9, 0.0, 5.8, 1.0, 2.9, 0.0];

请找出这三个时间点上所有不同的CPU使用率值

python">t1 = [0.0, 0.0, 0.0, 0.0, 0.4, 0.0, 0.0, 1.9, 0.0, 0.0, 0.0, 0.0, 3.8, 3.7, 1.0, 0.1, 1.8, 0.2, 0.1, 4.4]t2 = [0.0, 0.0, 0.0, 0.0, 1.2, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 3.6, 0.0, 1.2, 0.0, 1.2, 1.2, 0.0, 0.0]t3 = [0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 4.9, 2.9, 1.9, 0.0, 5.8, 1.0, 2.9, 0.0]
#利用set去重
all_values = t1 + t2 + t3
unique_values = list(set(all_values))
#用sort排序
unique_values.sort()print(unique_values)

4.有两个集合分别记录了服务器运行期间2天的错误信息f1 = {'power failure', 'disk error', 'network issue', 'network timeout'}, f2 = {'power failure', 'power holdon', 'disk locked', 'disk timeout', 'disk error'},请通过集合操作检查两天内发生的共同问题、两天内发生的差异性问题以及两天内的所有问题信息

python">
f1 = {'power failure', 'disk error', 'network issue', 'network timeout'}
f2 = {'power failure', 'power holdon', 'disk locked', 'disk timeout', 'disk error'}
#求交集
same_que=f1.intersection(f2)
#求差集
unique_day1=f1.difference(f2)
unique_day2=f2.difference(f1)
#求并集
all_que=f1.union(f2)
print(same_que)
print(all_que)
print(unique_day1)
print(unique_day2)

5.已知一个网络拓扑结构的列表 topologies = [('router1', ['switch1', 'switch2']), ('router2', ['switch3', 'switch4'])]。创建一个集合,包含所有的交换机名称。

python">
topologies = [('router1', ['switch1', 'switch2']),('router2', ['switch3', 'switch4'])]
switch_set=set()
#for循环遍历,'_'占位符
for _, switch in topologies:switch_set.update(switch)
print(switch_set)

6.已知一个用户与所使用网络协议的字典 user_protocols = {'user1': ['TCP', 'UDP', 'TCP'], 'user2': ['ICMP', 'TCP']}。创建一个集合,包含所有用户使用过的不同协议。

python">
user_protocols = {'user1': ['TCP', 'UDP', 'TCP'],'user2': ['ICMP', 'TCP']}
protocols_set=set()
for user, protocols in user_protocols.items():protocols_set.update(protocols)
print(protocols_set)


http://www.ppmy.cn/devtools/133308.html

相关文章

【八百客CRM-注册安全分析报告-无验证方式导致安全隐患】

前言 由于网站注册入口容易被黑客攻击,存在如下安全问题: 1. 暴力破解密码,造成用户信息泄露 2. 短信盗刷的安全问题,影响业务及导致用户投诉 3. 带来经济损失,尤其是后付费客户,风险巨大,造…

独立站 API 接口的性能优化策略

一、缓存策略* 数据缓存机制 内存缓存:利用内存缓存系统(如 Redis 或 Memcached)来存储频繁访问的数据。例如,对于商品信息 API,如果某些热门商品的详情(如价格、库存、基本描述等)被大量请求…

C++学习笔记----11、模块、头文件及各种主题(一)---- 模板概览与类模板(5)

2.4.2、模板参数的缺省值 如果继续来搞模板的高度与宽度的参数&#xff0c;可能会想提供缺省的高度与宽度的非类型模板参数&#xff0c;就像前面在Grid<T>类模板的构造函数中一样。C允许用类似的语法为模板参数提供缺省值。而我们正要这么做&#xff0c;那就也应该为T类型…

使用亚马逊 S3 连接器为 PyTorch 和 MinIO 创建地图式数据集

在深入研究 Amazon 的 PyTorch S3 连接器之前&#xff0c;有必要介绍一下它要解决的问题。许多 AI 模型需要使用无法放入内存的数据进行训练。此外&#xff0c;许多为计算机视觉和生成式 AI 构建的真正有趣的模型使用的数据甚至无法容纳在单个服务器附带的磁盘驱动器上。解决存…

前端 call、bind、apply的实际使用

目录 一、call 1、继承的子类可以使用父类的方法 2、可以接收任意参数 二、call、apply、bind比较 1、案例一 2、案例二 三、总结 这个三个方法都是改变函数的this指向的方法。 一、call 1、继承的子类可以使用父类的方法 function Animal(){//this 指向小catthis.eat…

【用Rust写CAD】第二章 第四节 变量

文章目录 1、 变量定义2、 变量命名规则3、不可变与可变4、变量隐藏5、类型推断 1、 变量定义 如果要声明变量&#xff0c;需要使用 let 关键字。每个变量都有一个唯一的名称。 声明变量后&#xff0c;可将其绑定到某个值&#xff0c;也可稍后在程序中绑定该值。 以下代码声明…

top-k类问题

问题描述 从arr[1, n]这n个数中&#xff0c;找出最大的k个数&#xff0c;这就是经典的TopK问题。 1 直接排序 排序是最容易想到的方法&#xff0c;将n个数排序之后&#xff0c;取出最大的k个&#xff0c;即为所得&#xff1a; sort(arr, 1, n); // 时间复杂度为O(n*lg(n)) …

2025 年使用 Python 和 Go 解决 Cloudflare 问题

作为一名从事网络自动化和爬取工作的开发者&#xff0c;我亲眼目睹了日益复杂的安全性措施带来的挑战。其中一项挑战是 Cloudflare 的 Turnstile CAPTCHA 系统&#xff0c;目前该系统已在全球 2600 多万个网站上使用。这种先进的解决方案重新定义了我们对机器人检测的处理方式&…