CSV Python 列表
Posted
技术标签:
【中文标题】CSV Python 列表【英文标题】:CSV Python list 【发布时间】:2020-08-14 20:54:05 【问题描述】:Name Gender Physics Maths
A 45 55
X 22 64
C 0 86
我有一个这样的 csv 文件,我做了一些修改以获取仅包含 [[45,55],[22,64]] 形式的标记的列表
我想找到每个主题的最小值。 但是当我运行我的代码时,我只得到第一个主题的最小值,其他值是从行中复制的 我想要的答案 - [0,55] 我得到的答案 - [0,86]
def find_min(marks,cols,rows):
minimum = []
temp = []
for list in marks:
min1 = min([x for x in list])
minimum.append(min1)
# for j in range(rows):
# for i in range(cols):
# temp.append(marks)
# x = min(temp)
# minimum.append(x)
return minimum
如何修改我的代码 我不能使用任何其他模块/库,如 csv 或 pandas 我尝试使用 zip(*marks) - 但这只是按原样打印我的标记列表。 有什么方法可以将内部列表与较大的列表分开
【问题讨论】:
【参考方案1】:这将计算每个主题的最小值:
In [707]: marks = [[45,55],[22,64]]
In [697]: [min(idx) for idx in zip(*marks)]
Out[697]: [22, 55]
【讨论】:
【参考方案2】:尝试转置 marks
数组(每行一个学生),以便每个列表条目对应于 CSV 中的一列(“主题”):
def find_min(marks):
mt = zip(*marks)
mins = [min(row) for row in mt]
return mins
示例用法:
marks = [[45,55],[22,64],[0,86]]
print(find_min(marks))
哪个打印:
[0, 55]
【讨论】:
在上面添加了“示例用法”。find_min(marks)
返回最小值列表。以上是关于CSV Python 列表的主要内容,如果未能解决你的问题,请参考以下文章