如何基于整数部分对列表中的字符串进行排序?

问题描述

我想编写一个函数,该函数按其整数部分对列表中的字符串进行排序。这些排序后的字符串将稍后用于以所需方式在Unable to cast observablecollection(of base) to observablecollection(of derived)数据帧中移动某些变量。 功能需要执行所有操作。换句话说,它会覆盖给定列表作为回报。在下面可以找到我尝试过的东西:

pandas

运行此功能时,我收到以下信息:

import re
import pandas

wholeregex = r"^[o][0-9]+"  # e.g. "o1","o9","o10" etc.
intregexkey = r"^[o]([0-9]+)"  # so I'm looking for integer parts only
varslist = list(df.filter(regex=wholeregex).columns)  # df was defined somewhere before

# e.g. varslist = ["o3","o8","o10","o1"]
#result should be varslist = ["o1","o3","o10"]

def strintkeysort(regex,m):
    lstreturn = []
    r = re.compile(regex)
    lstreturn = sorted(m,key=int(r.search(m).group(1)))
    return lstreturn

varslist = strintkeysort(intregexkey,varslist)

它基于@Ashwini Chaudhary的答案(Sort list of strings by a part of the string)。让我感到非常困惑的是,当我尝试完全按照他提出的方式进行操作时,一切都很好。因此,我决定增强此功能,并立即执行所有操作(不起作用)(我是Python新手)。

另一方面:Traceback (most recent call last): File "C:/path/script.py",line 130,in <module> varslist = strintkeysort(intregexkey,varslist) File "C:/path/script.py",line 127,in strintkeysort lstreturn = sorted(m,key=int(r.search(m).group(1))) TypeError: expected string or bytes-like object 中有专门的解决方案吗?

谢谢。

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...