如何使用 for 循环使这段代码更短
Posted
技术标签:
【中文标题】如何使用 for 循环使这段代码更短【英文标题】:how can i make this code shorter using for loop 【发布时间】:2019-01-30 07:29:48 【问题描述】:我想知道 有什么建议吗? 很抱歉问你们简单的问题
谢谢
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')
【问题讨论】:
【参考方案1】:你可以使用字典
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])])
希望对你有帮助..
【讨论】:
【参考方案2】:你可以试试:
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])
当然,如果您有更多“类”元素要检查,或者您有更多可能的结果(并添加额外的外部“for”循环来遍历 classes[k][i] 元素,其中“ k”正在改变)。
【讨论】:
【参考方案3】: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')
如果要循环classses rows数组,请在外面添加一个for循环。
【讨论】:
但是有些问题...当我运行此代码时,它会返回所有类。当我运行我的代码时,它可以正常工作。但我不知道为什么这个结果是错误的。以上是关于如何使用 for 循环使这段代码更短的主要内容,如果未能解决你的问题,请参考以下文章