gpt4 book ai didi

python - 嵌套循环中结果的唯一变量名称

转载 作者:太空宇宙 更新时间:2023-11-03 18:36:43 26 4
gpt4 key购买 nike

有一个嵌套的 for 循环(2 个外部和 3 个内部,所以总共 6 个)在内部循环中,我计算 4 个值 - 最小值、最大值、平均值和 95%对于列表中的 float 。我需要为每个结果分配动态唯一变量名称(最好是可读名称)。将会有 24 个不同的结果,因此需要 24 个唯一的名称。

希望将计算值分配给唯一的变量名称,如下所示。

user1connmax、user1connmin、user1connavg、user1connpc95。user1bytesmax、user1bytesmin、user1bytesavg、user1bytespc95user2connmax、user2connmin、user2connavg、user2connpc95。user2bytesmax、user2bytesmin、user2bytesavg、user2bytespc95user3connmax、user3connmin、user3connavg、user3connpc95。user3bytesmax、user3bytesmin、user3bytesavg、user3bytespc95

最佳答案

一个稍微复杂一点的例子:

import numpy
from collections import defaultdict

class User:
def __init__(self):
self.conn = []
self.bytes = []

def update(self, c, b):
self.conn .append(c)
self.bytes.append(b)

@property
def conn_min(self):
return min(self.conn)

@property
def conn_max(self):
return max(self.conn)

@property
def conn_avg(self):
return sum(self.conn, 0.) / (len(self.conn) or 1)

@property
def conn_95pct(self):
return numpy.percentile(self.conn, 95)

@property
def bytes_min(self):
return min(self.bytes)

@property
def bytes_max(self):
return max(self.bytes)

@property
def bytes_avg(self):
return sum(self.bytes, 0.) / (len(self.bytes) or 1)

@property
def bytes_95pct(self):
return numpy.percentile(self.bytes, 95)

def main():
users = defaultdict(User)
for user, conn, bytes in datastream:
users[user].update(conn, bytes)

# and then you retrieve the data like
user1connmax = users['user1'].conn_max

if __name__=="__main__":
main()

关于python - 嵌套循环中结果的唯一变量名称,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21441030/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com