假设输入为:字符串整数整数。 现在我只需要将第二和第三个输入映射到整数。
name, d, j = input().split()
d = int(d)
j = int(j)
这是唯一的方法吗?
答案 0 :(得分:4)
你也可以这样做:
name, d, j = input().split()
d,j = map(int,[d,j])
但我并没有真正看到这种好处。你已经拥有的东西没有错。请记住,较少的代码行本身并不是目标。
答案 1 :(得分:1)
name, d, j = [int(b) if i >=1 else b for i,b in enumerate(input().split())]
答案 2 :(得分:0)
对于将其压缩成一行的纯粹学术挑战,你可以使用单例列表/迭代器技巧:
name, d, j = next((x, *map(int, y)) for x, *y in ['john 3 4'.split()])
但请不要在生产代码中这样做;)