You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何为已排序字符串数组按首字符分组加标签输出?数字归为[0-9]组

按首字符分组并带标签输出的实现方案

核心思路

  1. 遍历已排序数组,提取每个元素的首字符
  2. 数字开头的元素统一归到[0-9]组,字母开头的元素按首字符(可统一大小写)分组
  3. 按「数字组优先,字母组按顺序」的规则输出,组标签加粗,元素用列表展示

Python 实现代码

sorted_array = ['1_array_content', '3_array_content', 'apple', 'ant', 'bucket']
grouped_data = {}

# 第一步:分组处理
for item in sorted_array:
    first_char = item[0]
    # 判断首字符是否为数字,分配对应组键
    if first_char.isdigit():
        group_key = "[0-9]"
    else:
        # 统一转为小写,避免大小写分组差异,不需要的话可去掉.lower()
        group_key = first_char.lower()
    
    # 将元素加入对应组
    if group_key not in grouped_data:
        grouped_data[group_key] = []
    grouped_data[group_key].append(item)

# 第二步:按要求格式输出
# 先输出数字组(如果存在)
if "[0-9]" in grouped_data:
    print("**[0-9]**")
    for elem in grouped_data["[0-9]"]:
        print(f"- {elem}")
    del grouped_data["[0-9]"]  # 移除已输出的组,避免重复处理

# 按字母顺序输出剩余组
for key in sorted(grouped_data.keys()):
    print(f"**[{key}]**")
    for elem in grouped_data[key]:
        print(f"- {elem}")

输出效果

**[0-9]**
- 1_array_content
- 3_array_content
**[a]**
- apple
- ant
**[b]**
- bucket

自定义调整说明

  • 如果需要区分大小写分组,删除代码中first_char.lower()的.lower()即可
  • 若数组未预先排序,可在分组前先执行sorted_array = sorted(original_array)确保顺序正确

内容的提问来源于stack exchange,提问作者avocado

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.21 20:18:25