回复
美国VPS综合讨论
[Windows VPS] 【编程题】求助大佬,怎么用python实现
只看楼主
1
#
kafei
收藏
2021-8-28 20:47:11
假设有这样一个列表
['A','a','a','A','a','a','a','A','a']
要统计每个A 后面的 a 数量,怎么写
比如第一个A后面是2,第二个A后面是3,第三个A后面是1
推荐
mengdodo
2021-8-28 21:02:10
楼上是个办法,或者先将这个数组拼接成字符串
AaaAaaaAa
然后在以A为分割拆成成数组得到
[aa,aaa,a]
推荐
tobalu
2021-8-28 20:56:50
遍历一次,得到所有 A 的下标,然后两两相减再-1 得到 'a' 数量
然后最后一个 A 判断下和字符序列边界的关系处理下即可
2
#
论坛大师
2021-8-28 20:53:14
Stack Overflow
4
#
Nothing1024
2021-8-28 20:59:01
1.检测到大A,开始循环检测小a
2.连起来然后再split(),以A为关键字,剩下的元素慢慢获取长度
5
#
beng
2021-8-28 21:00:48
spite A 然后 循环 len
7
#
KitrosMC
2021-8-28 21:03:42
Python不熟悉,php我可以写一个给你w
8
#
嗷嗷
2021-8-28 21:08:02
第一个A后面不是应该6个a才对吗?
9
#
kennyS
2021-8-28 21:19:58
引用:
mengdodo 发表于 2021-8-28 14:02
楼上是个办法,或者先将这个数组拼接成字符串
AaaAaaaAa
然后在以A为分割拆成成数组得到
是个不错的方法,就是不知道楼主的题目:是否是单字符。
10
#
萌墨
2021-8-28 21:23:48
本帖最后由 萌墨 于 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));
}
}
}
回复
1
2
/ 2 页
下一页