鱼C论坛

 找回密码
 立即注册
查看: 1270|回复: 6

[已解决]如何分离文字和数字

[复制链接]
发表于 2022-1-13 16:02:22 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
这里有[罗恩120,哈利波特383,赫敏524,马尔福246]
我想实现把他们的分数提取出来用于比较大小,请问怎么将汉字和数字分离呀?谢谢啦
最佳答案
2022-1-13 23:11:42
nettkd 发表于 2022-1-13 21:19
有更简单点的方法吗?我还没学到这些,看不懂

arr = ["罗恩120", "哈利波特383", "赫敏524", "马尔福246"]

res = dict() # 创建新字典

for name in arr:
    key = ""
    value = ""
    for c in name:
        if c.isdigit(): # 数字
            value += c
        else: # 不是数字
            key += c
    res[key] = int(value) # 存入字典

print(res)
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2022-1-13 16:12:59 | 显示全部楼层
看规律分数都是这个列表里元素的后3位,所以可以试一下使用列表的负数索引
list1=['罗恩120','哈利波特383','赫敏524','马尔福246']
list2=[]
list3=[]
for each in list1:
        list2.append(each[:-3])
        list3.append(each[-3:])
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2022-1-13 16:14:21 | 显示全部楼层
结果出来应该是这样的
>>> list2
['罗恩', '哈利波特', '赫敏', '马尔福']
>>> list3
['120', '383', '524', '246']
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2022-1-13 16:24:43 From FishC Mobile | 显示全部楼层
如果数字不一定是三个数字,也可以试试用正则表达式:
import re
arr = ["罗恩120", "哈利波特383", "赫敏524", "马尔福246"]

res = dict()

for i in arr:
        value = re.findall(r"[0-9]+$", i)
        key = re.findall(r"^[\u4e00-\u9fa5]+", i)
        res[key[0]] = int(value[0])

print(res)
{'罗恩': 120, '哈利波特': 383, '赫敏': 524, '马尔福': 246}
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2022-1-13 21:19:59 | 显示全部楼层
傻眼貓咪 发表于 2022-1-13 16:24
如果数字不一定是三个数字,也可以试试用正则表达式:

有更简单点的方法吗?我还没学到这些,看不懂
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2022-1-13 23:11:42 | 显示全部楼层    本楼为最佳答案   
nettkd 发表于 2022-1-13 21:19
有更简单点的方法吗?我还没学到这些,看不懂

arr = ["罗恩120", "哈利波特383", "赫敏524", "马尔福246"]

res = dict() # 创建新字典

for name in arr:
    key = ""
    value = ""
    for c in name:
        if c.isdigit(): # 数字
            value += c
        else: # 不是数字
            key += c
    res[key] = int(value) # 存入字典

print(res)
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2022-1-14 06:48:50 | 显示全部楼层
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

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

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2025-1-12 13:21

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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