【问题标题】:How to count specific characters in a list for each string separately如何分别计算每个字符串的列表中的特定字符
【发布时间】:2022-01-13 11:19:28
【问题描述】:

正如我的标题所说。我认为代码会描述我想要做什么。

输入:

words = ['oko', 'grzybobranie', 'żółw', 'jaźń', 'zażółcone krzewy', 'hipodrom', 'szczęki', 'kurs poprawkowy']

预期输出:

sum of polish signs in words - [0, 0, 3, 2, 3, 0, 1, 0]

我的作品:

words = ['oko', 'grzybobranie', 'żółw', 'jaźń', 'zażółcone krzewy', 'hipodrom', 'szczęki', 'kurs poprawkowy']
sumOfChars = [len(i) for i in words]
polish = 'ą ć ę ł ń ó ś ź ż'.split()
lista = []
for i in words:
    for x in i:
        if x in polish:
            lista.append(x)
print(sumOfChars)
print(lista)

我的输出:

[3, 12, 4, 4, 16, 8, 7, 15]
# ^ sum of chars in every string
['ż', 'ó', 'ł', 'ź', 'ń', 'ż', 'ó', 'ł', 'ę']
# ^ special signs in my strings

【问题讨论】:

    标签: python string list count char


    【解决方案1】:

    你可以做一个简单的列表理解:

    words = ['oko', 'grzybobranie', 'żółw', 'jaźń', 'zażółcone krzewy', 'hipodrom', 'szczęki', 'kurs poprawkowy']
    polish = 'ąćęłńóśźż'
    
    output = [sum(j in polish for j in i) for i in words]
    

    输出:

    [0, 0, 3, 2, 3, 0, 1, 0]
    

    【讨论】:

    • 嗯,我总是对单线男人感到震惊,哈哈。谢谢!
    【解决方案2】:

    您可以为每个单词创建一个列表并计算每个子列表的长度。我已经相应地更新了您的代码:

    words = ['oko', 'grzybobranie', 'żółw', 'jaźń', 'zażółcone krzewy', 'hipodrom', 'szczęki', 'kurs poprawkowy']
    sumOfChars = [len(i) for i in words]
    polish = 'ą ć ę ł ń ó ś ź ż'.split()
    lista = []
    for i in words:
        tmp = []
        for x in i:
            if x in polish:
                tmp.append(x)
        lista.append(tmp)
    print(sumOfChars)
    print(lista)
    print([len(l) for l in lista])
    

    【讨论】:

    • 谢谢好心人,现在我正要数一数我能做到的。谢谢!
    猜你喜欢
    • 2017-03-23
    • 1970-01-01
    • 1970-01-01
    • 2014-01-30
    • 2022-07-08
    • 1970-01-01
    • 2020-05-29
    • 1970-01-01
    • 2012-06-07
    相关资源
    最近更新 更多