简体   繁体   中英

how can i make this code shorter using for loop

im wondering how can i make this code shorter using for loop is there any suggestion? im sorry to ask you guys easy question

thank you

if (int(classes[0][0])==1):
    print('icis_0.8_water')
if (int(classes[0][0])==2):
    print('nevia')
if (int(classes[0][0])==3):
    print('Xiaomi')
if (int(classes[0][0])==4):
    print('hyundai_mouse')
if (int(classes[0][0])==5):
    print('peace_stapler')

if (int(classes[0][1])==1):
    print('icis_0.8_water')
if (int(classes[0][1])==2):
    print('nevia')
if (int(classes[0][1])==3):
    print('Xiaomi')
if (int(classes[0][1])==4):
    print('hyundai_mouse')
if (int(classes[0][1])==5):
    print('peace_stapler')

if (int(classes[0][2])==1):
    print('icis_0.8_water')
if (int(classes[0][2])==2):
    print('nevia')
if (int(classes[0][2])==3):
    print('Xiaomi')
if (int(classes[0][2])==4):
    print('hyundai_mouse')
if (int(classes[0][2])==5):
    print('peace_stapler')

You can use a dictionary

d = {
    1: 'icis_0.8_water',
    2: 'nevia',
    3: 'Xiaomi',
    4: 'hyundai_mouse',
    5: 'peace_stapler'
}
print(d[int(classes[0][0])])
print(d[int(classes[0][1])])
print(d[int(classes[0][2])])

Hope it helps..

You can try:

results = ['icis_0.8_water', 'nevia', 'Xiaomi', 'hyundai_mouse', 'peace_stapler']
for i in range(3):
    for j in range(1, 6):
        if(int(classes[0][i]) == j):
            print(results[j - 1])

Of course you have to change ranges if you have more "classes" elements to check, or you chave more posible results (and add additional external "for" loop to go through classes[k][i] elements, where "k" is changing).

for i in range(len(classes[0])):
  if (int(classes[0][i])==1):
    print('icis_0.8_water')
  if (int(classes[0][i])==2):
    print('nevia')
  if (int(classes[0][i])==3):
    print('Xiaomi')
  if (int(classes[0][i])==4):
    print('hyundai_mouse')
  if (int(classes[0][i])==5):
    print('peace_stapler')

If you want to loop the classses rows array, add a for loop outside.

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM