【发布时间】:2017-03-03 14:49:17
【问题描述】:
我想找到数组 sorted_array 的不同值的计数。 在找到不同的值并将它们分配给 distinct_values 数组后,我想将值的计数分配给 distinct_values_count 数组上的相同位置,但我的代码似乎不起作用。 output.txt 文件看起来像这样:
1996 1983 1983 1982 1977 2011 1987 1988 1978 2012 2006 2013
> sorted_array = []
> distinct_values = []
> distinct_values_count = [0]
> file = open('output.txt', 'r')
>
> for line in file:
> sorted_array.append(line.split('\n'))
>
> sorted_array.sort()
>
> for i in range(0, len(sorted_array)):
> year = sorted_array[i][0]
> if year not in distinct_values:
> distinct_values.append(year)
> if year in distinct_values:
> pos = distinct_values.index(year)
> distinct_values_count[pos] = sorted_array.count(year)
>
> file.close()
我收到此错误:
IndexError: 列表赋值索引超出范围
【问题讨论】:
-
使用
line.strip()删除'\n'而不是line.split('\n')创建一个元素列表,然后将其附加到sorted_array多维。
标签: arrays python-3.x count