gpt4 book ai didi

python - 将列表“拆分”为多个数组

转载 作者:太空宇宙 更新时间:2023-11-04 10:51:20 24 4
gpt4 key购买 nike

我正在尝试完成一个项目,该项目将显示 .txt 文件中包含的特定列表的年度总销售额。

列表格式如下:

-lastname, firstname (string)
-45.7 (float)
-456.4 (float)
-345.5 (float)
-lastname2, firstname2 (string)
-3354.7 (float)
-54.6 (float)
-56.2 (float)
-lastname3, firstname3 (string)
-76.6 (float)
-34.2 (float)
-48.2 (float)

等等......实际上,7 个不同的“员工”后面跟着 12 组“数字”(一年中的几个月)......但是这个例子应该足以让我了解我正在尝试的事情做。

我需要输出每个“员工”的具体信息 -员工的名字 -Total Sum(列表中12个数字的总和)

所以我的逻辑是让我得出这个结论,但我不知道从哪里开始:

创建 7 个不同的数组来存储每个“员工”数据。有了这个逻辑,我需要将主列表拆分成独立的数组,以便我可以使用它们。

如何实现?而且,如果我没有预定义的员 worker 数(但定义的格式::“名称”后跟 12 个月的数字)...我该如何实现?

一旦我知道如何将列表“拆分”成不同的部分(每 13 行),我确定我能想出办法?

最佳答案

是的,每隔 13 行就有一个员工的信息。

但是,您可以使用列表字典而不是使用 12 个不同的列表,这样您就不必担心员工数量。

您也可以使用一个参数来指示每个员工的线路数量。

您可以执行以下操作:

infile = open("file.txt", "rt")

employee = dict()
name = infile.readline().strip()
while name:

employee[name] = list()

for i in xrange(1, 12):
val = float(infile.readline().strip())
employee[name].append(val)

name = infile.readline().strip()

访问字典条目的一些方法:

for name, months in employee.items():
print name
print months

for name in employee.keys():
print name
print employee[name]

for months in employee.values():
print months

for name, months in (employee.keys(), employee.values()):
print name
print months

整个过程如下:

infile = open("file.txt", "rt")

employee = dict()
name = infile.readline().strip()
while name:

val = 0.0
for i in xrange(1, 12):
val += float(infile.readline().strip())
employee[name] = val

print ">>> Employee:", name, " -- salary:", str(employee[name])
name = infile.readline().strip()

抱歉拐弯抹角,不知何故(:

关于python - 将列表“拆分”为多个数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13664768/

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