【发布时间】:2016-12-20 12:48:59
【问题描述】:
当我执行附加的代码时,我希望它:
return sub_list
对于 mainList 中的所有 sub_lists(总共 9 个 sub_lists)。 我该怎么做?
for sub_list in mainList:
sub_list = sub_list.split(",")
if len(sub_list) == 9:
for i in sub_list:
try:
i = int(i)
except ValueError:
return "Error! has to contain integers only"
else:
i = str(i)
print(sub_list)
elif len(sub_list) > 9:
return 'Error! more than 9 numbers in a line'
当我执行代码时,会出现以下情况:
['3', '8', '0', '4', '0', '0', '7', '0', '2']
['0', '0', '0', '7', '2', '0', '0', '0', '0']
['0', '0', '0', '7', '2', '0', '0', '0', '0']
['0', '2', '4', '8', '0', '6', '9', '0', '0']
['0', '0', '0', '0', '0', '0', '0', '0', '0']
['0', '0', '1', '2', '0', '3', '5', '4', '0']
['0', '0', '0', '0', '5', '8', '0', '0', '0']
['9', '0', '3', '0', '0', '4', '0', '2', '8']
['0', '0', '8', '0', '0', '0', '0', '5', '7']
['3', '8', '0', '4', '0', '0', '7', '0', '2']
['0', '0', '0', '7', '2', '0', '0', '0', '0']
['0', '0', '0', '7', '2', '0', '0', '0', '0']
['0', '2', '4', '8', '0', '6', '9', '0', '0']
['0', '0', '0', '0', '0', '0', '0', '0', '0']
['0', '0', '1', '2', '0', '3', '5', '4', '0']
['0', '0', '0', '0', '5', '8', '0', '0', '0']
['9', '0', '3', '0', '0', '4', '0', '2', '8']
['0', '0', '8', '0', '0', '0', '0', '5', '7']
【问题讨论】:
-
您只能
return一次。如果你需要返回九个东西,为什么不把这些列表放到另一个列表或者一个元组中呢? -
它们已经在一个列表(mainList)中,问题是我想在新行中打印每个 sub_list..
-
不清楚你在这里期待什么逻辑。返回一串错误消息而不只是引发错误是不寻常的。您是否要打印所有九个,但前提是它们都包含恰好九个整数(或可以转换为整数的字符串或浮点数)?请澄清输入和预期输出。
-
然后只需在 for 循环之后打印它们,它们已经通过了所有条件。
-
“不起作用”究竟是什么意思?请给出您实际尝试过的minimal reproducible example。
标签: python list for-loop exception