繁体   English   中英

Python:如何计算部分字符串中字母的数量

[英]Python : how to count amount of letters of alphabet in string in parts

如何计算不同部分之间此字符串中的字母数量? 还有另一种方法:给定数字时如何获得字母字符串表示形式?

输入:“ AG HO P Q-Z”

输出:(7,8,1,10)

  q = list()

    for i in seq:
        if i is char:
            n = ord(i+1) - ord(i)
            q.append(n)

你可以这样做:

input_string = 'A-G H-O P Q-Z'
input_string = input_string.split()

q = []
for dletter in input_string:
    if '-' in dletter:
        q.append(1 + ord(dletter[2]) - ord(dletter[0]))
    else:
        q.append(1)

或者,不带if语句:

input_string = 'A-G H-O P Q-Z'
input_string = input_string.split()

q = []
for dletter in input_string:
    q.append(1 + ord(dletter[-1]) - ord(dletter[0]))

但这是一个很好的答案

a = "A-G  N B-Z"
a = a.split()
b = []
for i in a:
    b.extend([i.split("-")])
print(b)
for lists in b:
    if len(lists) > 1:
        print(lists, ":", ord(lists[1]) - ord(lists[0]) + 1)
    else:
        print(lists, ":", 1)

输出量

[['A', 'G'], ['N'], ['B', 'Z']]
['A', 'G'] : 7
['N'] : 1
['B', 'Z'] : 25

使用列表理解

a = "A-G  N B-Z"

b = [i.split("-") for i in a.split()]

print(b)
for lists in b:
    if len(lists) > 1:
        print(lists, ":", ord(lists[1]) - ord(lists[0]) + 1)
    else:
        print(lists, ":", 1)

输出量

[['A', 'G'], ['N'], ['B', 'Z']]
['A', 'G'] : 7
['N'] : 1
['B', 'Z'] : 25

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM