如何在输入时将列表中的-1替换为指定变量var的值
解决方案
你可以通过列表推导式在转换输入的同时完成替换操作,直接把原代码的最后一行替换成下面的写法:
import sys readline = sys.stdin.readline var = 10**5 # 遍历转换后的每个整数,将-1替换为var current_line = [var if num == -1 else num for num in map(int, readline().split())]
逻辑说明
- 先用
map(int, readline().split())把输入的字符串分割并转换为整数迭代器; - 遍历每个整数,判断如果等于
-1,就用var的值替代,否则保留原整数; - 最终生成的列表就是你需要的结果。
测试验证
输入:
-1 3 0 -1 4 5
执行后current_line的值为:
[100000, 3, 0, 100000, 4, 5]
内容的提问来源于stack exchange,提问作者Lib
相关产品推荐
相关产品推荐

