Python列表未解决

时间:2016-10-11 01:02:44

标签: python list csv

虽然我已经学习了大部分基础知识,但我已经学习了大部分基础知识,但我已经学习了大部分基础知识,但是我需要能够从csv文件中读取(到目前为止工作),然后将此csv中的数据附加到正常工作的列表中,并且我不确定的部分是使用其中两个列表和/ 120和* 100

例如list1第一个得分是55而list2是51,我想将它们合并到一个列表中等于106,然后添加一些可以除以每个时间的东西,因为每个列表中有7个不同的数字。 / p>

hashes = [{ Date.new(2012,3,1)=>1 }, { Date.new(2012,4,20)=>2 },
          { Date.new(2012,6,10)=>3 }, { Date.new(2012,6,11)=>4 }] 
  #=> [{#<Date: 2012-03-01 ((2455988j,0s,0n),+0s,2299161j)>=>1},
  #    {#<Date: 2012-04-20 ((2456038j,0s,0n),+0s,2299161j)>=>2},
  #    {#<Date: 2012-06-10 ((2456089j,0s,0n),+0s,2299161j)>=>3},
  #    {#<Date: 2012-06-11 ((2456090j,0s,0n),+0s,2299161j)>=>4}] 

r = Date.new(2012,3,3)..Date.new(2012,6,10)
hashes.select{|h| r.cover? h.first.first }
  #=> {#<Date: 2012-04-20 ((2456038j,0s,0n),+0s,2299161j)>=>2,
  #    #<Date: 2012-06-10 ((2456089j,0s,0n),+0s,2299161j)>=>3} 

输出

import csv 
list1 = []
list2 = []
with open("scores.csv") as f:
reader = csv.reader(f)
for row in reader:

    list1.append(row[1])
    list2.append(row[2])
print (list1)
print (list2)

预期输出(通缉输出)

['55', '25', '40', '21', '52', '42', '19']

['51', '36', '50', '39', '53', '33', '40']

然后每个需要除以120和* 100。

2 个答案:

答案 0 :(得分:0)

查看zip

for a, b in zip(list1, list2):
    # .... do stuff

所以对你来说:

output = [((int(a)+int(b))/120)*100 for a, b in zip(list1, list2)]

答案 1 :(得分:0)

制作一个新列表,将您想要的计算考虑在内。

>>> list1 = ['55', '25', '40', '21', '52', '42', '19']
>>> list2 = ['51', '36', '50', '39', '53', '33', '40']
>>> result = [(int(x)+int(y))/1.2 for x,y in zip(list1, list2)]
>>> result
[88.33333333333334, 50.833333333333336, 75.0, 50.0, 87.5, 62.5, 49.16666666666667]