【问题标题】:How can i get enumerate object inside on screen如何在屏幕上获取枚举对象
【发布时间】:2020-05-17 22:02:48
【问题描述】:

我想在word="WElCMMerC"中写屏幕大写字母和索引数字。例如[(0,W),(1,E),(3,C),(4,M),(5, M)...]


def cap(word):

    w=list(enumerate(i) for i in word if i!=i.lower())
    print (w)

print(cap("WElCMMerC"))

【问题讨论】:

  • 现在我在屏幕上看到这样 [,

标签: python uppercase enumerate


【解决方案1】:

你可以遍历enumerate的结果,只保留那些有大写字母的(使用isupper检查),并返回列表w,不要在函数内打印:

def cap(word):
    w = [i for i in enumerate(word) if i[1].isupper()]
    return w

print(cap("WElCMMerC"))

输出:

[(0, 'W'), (1, 'E'), (3, 'C'), (4, 'M'), (5, 'M'), (8, 'C')]

【讨论】:

    【解决方案2】:

    您列出了enumerate 对象。阅读文档:enumerate 是一个迭代器,很像 range。相反,您需要使用枚举。

    return [(idx, letter) 
            for idx, letter in enumerate(word)
                if letter.isupper()]
    

    英文:

    Return the pair of index and letter
    for each index, letter pair in the word
        but only when the letter is upper-case.
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-05-04
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多