缩短以下if语句?

时间:2018-03-11 04:28:04

标签: python python-3.x

抱歉这个天真的问题。我试图让这段代码更短一些,因为写出这整行似乎很麻烦。有没有办法缩短if语句?

if data.char == "1" or "2" or "3" or "4" or "5" or "6" or "7" or "8" or "9":
    data.board[row][col] = int(data.char)

2 个答案:

答案 0 :(得分:0)

如cco所述:

if data.char in "123456789"
    data.board[row][col] = int(data.char)

in 运算符如果找到指定序列中的变量则求值为true,否则为false。它可以用于列表,字符串,元组和字典。但是in只会检查字典的键 - 而不是值。

例如,如果你想要整数,你可以声明一个数字列表并改用它。

if num in [1,2,3,4,5,6,7,8,9]:
    do something

或者:

if num in range(1,9):
    do something

答案 1 :(得分:-2)

这个怎么样?

import string
digits = set(string.digits) - {'0'}
if data.char in digits:
    data.board[row][col] = int(data.char)