宇宙主机交流论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

欧基零壹微头条IP归属甄别会员请立即修改密码
查看: 1534|回复: 11

[Windows VPS] 【编程题】求助大佬,怎么用python实现

[复制链接]
发表于 2021-8-28 20:47:11 | 显示全部楼层 |阅读模式
假设有这样一个列表
['A','a','a','A','a','a','a','A','a']
要统计每个A 后面的 a 数量,怎么写
比如第一个A后面是2,第二个A后面是3,第三个A后面是1
发表于 2021-8-28 21:02:10 | 显示全部楼层
楼上是个办法,或者先将这个数组拼接成字符串
AaaAaaaAa
然后在以A为分割拆成成数组得到
[aa,aaa,a]
发表于 2021-8-28 20:56:50 | 显示全部楼层
遍历一次,得到所有 A 的下标,然后两两相减再-1 得到 'a' 数量
然后最后一个 A 判断下和字符序列边界的关系处理下即可
发表于 2021-8-28 20:53:14 | 显示全部楼层
Stack Overflow
发表于 2021-8-28 20:59:01 | 显示全部楼层
1.检测到大A,开始循环检测小a
2.连起来然后再split(),以A为关键字,剩下的元素慢慢获取长度
发表于 2021-8-28 21:00:48 来自手机 | 显示全部楼层
spite A 然后 循环 len
发表于 2021-8-28 21:03:42 | 显示全部楼层
Python不熟悉,php我可以写一个给你w
发表于 2021-8-28 21:08:02 | 显示全部楼层
第一个A后面不是应该6个a才对吗?
发表于 2021-8-28 21:19:58 | 显示全部楼层
mengdodo 发表于 2021-8-28 14:02
楼上是个办法,或者先将这个数组拼接成字符串
AaaAaaaAa
然后在以A为分割拆成成数组得到

是个不错的方法,就是不知道楼主的题目:是否是单字符。
发表于 2021-8-28 21:23:48 | 显示全部楼层
本帖最后由 萌墨 于 2021-8-28 21:28 编辑

不能惯着mjj,我用Java写
  1. import java.util.*;

  2. public class Statistics {
  3.     public static void main(String[] args) {
  4.         Collection<Character> collection = new ArrayList<Character>(Arrays.asList('a', 'a', 'A', 'a', 'a', 'a', 'A', 'a'));
  5.         int countA = 0;
  6.         int counta = 0;
  7.         Map<String, Integer> map = new HashMap<>();
  8.         for (Character c :
  9.                 collection) {
  10.             if (c.equals('A')) {
  11.                 countA++;
  12.                 counta = 0;
  13.             } else {
  14.                 if (countA==0){
  15.                     continue;
  16.                 }
  17.                 counta++;
  18.                 map.put("第" + countA + "个A后有", counta);
  19.             }
  20.         }

  21.         for (String key :
  22.                 map.keySet()) {
  23.             System.out.println(key + ":" + map.get(key));
  24.         }
  25.     }
  26. }
复制代码

您需要登录后才可以回帖 登录 | 注册

本版积分规则

Archiver|手机版|小黑屋|宇宙主机交流论坛

GMT+8, 2024-10-30 11:31 , Processed in 0.064399 second(s), 9 queries , Gzip On, MemCache On.

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表