簡體   English   中英

將代碼轉換為python列表理解

[英]Convert code to python list comprehension

像這樣的代碼:

class H:
    def __init__(self, row):
        self.row = row

    @staticmethod
    def gg(word):
        if not word:
            return 0
        return 1

    def ff(self):
        l = []                         # return [sentence for sentence in self.row.split('/') for word in self.gg(sentence.split(' '))]
        for sentence in self.row.split('/'):
            num_of_syllables = 0
            for word in sentence.split(' '):
                num_of_syllables += self.gg(word)
            l.append(num_of_syllables)
        return l

是否可以縮短上述 coe 並用於列出函數 ff() 中的理解?

return [sentence for sentence in self.row.split('/') for word in self.gg(sentence.split(' '))]

像這樣計算真值的一件非常有用的事情是boolintTrue == 1False == 0的子類

def ff(self):
    return [
        sum(bool(word) for word in sentence.split(' '))
        for sentence in self.row.split('/')
    ]

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM