我的代码:
line = input().split(';')
for i in range(len(line)):
row = []
for num in line[i].split(','):
if int(num) >= 1000000000:
row.append(num)
print(','.join(row))
我需要按特殊顺序输出大于10亿的数字
输入:
150000,10000000000; 2000000000,1345678910,330000000
输出:
10000000000
2000000000,1345678910
如何在不使用表达式外的for循环的情况下将代码转换为列表表达式
答案 0 :(得分:2)
因此,在没有任何for循环的情况下,您尝试执行以下操作:
def big_numbers(line):
return ",".join(filter(lambda num: int(num) >= 1_000_000_000, line.split(',')))
print("\n".join(map(big_numbers, input().split(';'))))
与:
def big_numbers(line):
condition = lambda num: int(num) >= 1_000_000_000
filtered = filter(condition, line.split(','))
return ",".join(filtered)
inp = input().split(';')
rows = map(big_numbers, inp)
print("\n".join(rows))
这样您输入的150000,10000000000;2000000000,1345678910,330000000
产量:
10000000000
2000000000,1345678910