列出数组名称

时间:2018-11-15 03:42:36

标签: python arrays

o = [1,1,1,1,1,1,1,1,1,2,2,2,2,2,2,2,2,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,4,4,4,4,4,4,4,4,4,4,4,5,5,5,5,5,5,5,5]

我希望能够显示多少个1、2等。

例如,如果有6个1,它将打印BendingF = 6。我的12345是不同的职位。 1 = BendingF2 = BendingM3 = Twisting4 = Walking5 = Squat

我尝试了

##1 = print('Bending Forward')
##2 = print('Bending Midway')
##3 = print('Twisting')
##4 = print('Walking')
##5 = print('Squating')

但这会给我错误:

  

SyntaxError:无法分配给文字

2 个答案:

答案 0 :(得分:1)

正如 @Amadan 所述,您可以使用Counter对数组中每次出现的唯一数字进行计数。然后创建一个字典(labels),将您的整数映射到它们将代表的字符串值:

from collections import Counter

o = [1,1,1,1,1,1,1,1,1,2,2,2,2,2,2,2,2,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,4,4,4,4,4,4,4,4,4,4,4,5,5,5,5,5,5,5,5]

labels = {
  1: 'Bending Forward',
  2: 'Bending Midway',
  3: 'Twisting',
  4: 'Walking',
  5: 'Squating'
}

count = Counter(o)

for val in count.keys():
  print(labels[val] + " - " + str(count[val]))

输出

 Bending Forward - 9
 Bending Midway - 8
 Twisting - 16
 Walking - 11
 Squating - 8

Repl link

答案 1 :(得分:1)

o = [1,1,1,1,1,1,1,1,1,2,2,2,2,2,2,2,2,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,4,4,4,4,4,4,4,4,4,4,4,5,5,5,5,5,5,5,5]
print("Bending forward = " + str(o.count(1)))
print("Bending Midway = " + str(o.count(2)))
print("Twisting = " + str(o.count(3)))
print("Walking = " + str(o.count(4)))
print("Squatting = " + str(o.count(5)))
相关问题