全球主机交流论坛
标题:
【编程题】求助大佬,怎么用python实现
[打印本页]
作者:
kafei
时间:
2021-8-28 20:47
标题:
【编程题】求助大佬,怎么用python实现
假设有这样一个列表
['A','a','a','A','a','a','a','A','a']
要统计每个A 后面的 a 数量,怎么写
比如第一个A后面是2,第二个A后面是3,第三个A后面是1
作者:
论坛大师
时间:
2021-8-28 20:53
Stack Overflow
作者:
tobalu
时间:
2021-8-28 20:56
遍历一次,得到所有 A 的下标,然后两两相减再-1 得到 'a' 数量
然后最后一个 A 判断下和字符序列边界的关系处理下即可
作者:
Nothing1024
时间:
2021-8-28 20:59
1.检测到大A,开始循环检测小a
2.连起来然后再split(),以A为关键字,剩下的元素慢慢获取长度
作者:
beng
时间:
2021-8-28 21:00
spite A 然后 循环 len
作者:
mengdodo
时间:
2021-8-28 21:02
楼上是个办法,或者先将这个数组拼接成字符串
AaaAaaaAa
然后在以A为分割拆成成数组得到
[aa,aaa,a]
作者:
KitrosMC
时间:
2021-8-28 21:03
Python不熟悉,php我可以写一个给你w
作者:
嗷嗷
时间:
2021-8-28 21:08
第一个A后面不是应该6个a才对吗?
作者:
kennyS
时间:
2021-8-28 21:19
mengdodo 发表于 2021-8-28 14:02
楼上是个办法,或者先将这个数组拼接成字符串
AaaAaaaAa
然后在以A为分割拆成成数组得到
是个不错的方法,就是不知道楼主的题目:是否是单字符。
作者:
萌墨
时间:
2021-8-28 21:23
本帖最后由 萌墨 于 2021-8-28 21:28 编辑
不能惯着mjj,我用Java写
import java.util.*;
public class Statistics {
public static void main(String[] args) {
Collection<Character> collection = new ArrayList<Character>(Arrays.asList('a', 'a', 'A', 'a', 'a', 'a', 'A', 'a'));
int countA = 0;
int counta = 0;
Map<String, Integer> map = new HashMap<>();
for (Character c :
collection) {
if (c.equals('A')) {
countA++;
counta = 0;
} else {
if (countA==0){
continue;
}
counta++;
map.put("第" + countA + "个A后有", counta);
}
}
for (String key :
map.keySet()) {
System.out.println(key + ":" + map.get(key));
}
}
}
复制代码
作者:
KitrosMC
时间:
2021-8-28 21:43
大哥我就帮你到这里了
作者:
kafei
时间:
2021-8-28 21:55
感谢各位大佬,努力学习
欢迎光临 全球主机交流论坛 (https://mjj.022333.xyz/)
Powered by Discuz! X3.4