gpt4 book ai didi

Python 计数子串

转载 作者:太空宇宙 更新时间:2023-11-04 08:10:59 24 4
gpt4 key购买 nike

如何找到子字符串在字符串中出现了多少次?我有分子式,如果字母是大写它是一个元素(例如 H),如果它有第一个大写字母和第二个小写字母而不是一个元素(例如 Ba),如果元素后有数字我必须添加那个数字到元素

示例:输入:Ba4H2Ba5Li3

如果我搜索 Ba 它应该打印数字 9(我有 Ba4 和 Ba5,即 9),如果我搜索 H 它应该打印 2(一个字母 H 但后面是数字 2),而 Li 它应该打印数字 3 .

最佳答案

你可以像这样使用正则表达式

data = "Ba4H2Ba5Li3"
import re
result = {}
for element, count in re.findall(r"([A-Z][a-z]?)(\d*)", data):
result[element] = result.get(element, 0) + int(1 if count == "" else count)
print result
# {'H': 2, 'Ba': 9, 'Li': 3}

现在,您可以从result 中获取每个项目的计数,如下所示

print result.get("Ba", 0)
# 9
print result.get("H", 0)
# 2
print result.get("Li", 0)
# 3
print result.get("Sa", 0)
# 0

关于Python 计数子串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22432110/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com