列出数组的名称

2024-05-16 21:58:31 发布

您现在位置:Python中文网/ 问答频道 /正文

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等等。你知道吗

例如,如果有61,它将打印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: can't assign to literal


Tags: to错误canforwardprintassignsyntaxerrorwalking
2条回答

正如@Amadan提到的,您可以使用^{}来计算数组中出现的每个唯一数字。然后创建一个字典(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

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)))

相关问题 更多 >