搜尋

首頁  >  問答  >  主體

这样的条件判断语句有哪些pythonic的写法

代码如下:

def text2number(str):
    if '褒' in str:
        return 1
    elif '贬' in str:
        return -1
    else:
        return 0
阿神阿神2768 天前363

全部回覆(4)我來回復

  • PHP中文网

    PHP中文网2017-04-17 18:02:52

    text2number = lambda string: 1 if '褒' in string else -1 if '贬' in string else 0

    另外以及不建議你使用內建的方法名稱作為參數。 。

    回覆
    0
  • 阿神

    阿神2017-04-17 18:02:52

    def text_to_id(text):
        mapping = {
           '褒': 1,
           '贬': -1,
        }
        return mapping.get(text, 0)

    短一點的話:

    def text_to_id(text):
        return {
           '褒': 1,
           '贬': -1,
        }.get(text, 0)

    再短一點的話:

    text_to_id = lambda text: {
        '褒': 1,
        '贬': -1,
    }.get(text, 0)

    我也想說,不建議用內建的類別名稱str當參數名稱。

    回覆
    0
  • PHPz

    PHPz2017-04-17 18:02:52

    你是指

    1 if str.find('褒')!=-1 else -1 if str.find('贬')!=-1 else 0

    這樣的一行流嗎

    實測可用,但不建議使用

    回覆
    0
  • 黄舟

    黄舟2017-04-17 18:02:52

    def text2number(str):

    雷雷

    回覆
    0
  • 取消回覆