本站消息

站长简介/公众号


站长简介:逗比程序员,理工宅男,前每日优鲜python全栈开发工程师,利用周末时间开发出本站,欢迎关注我的微信公众号:幽默盒子,一个专注于搞笑,分享快乐的公众号

  价值13000svip视频教程,python大神匠心打造,零基础python开发工程师视频教程全套,基础+进阶+项目实战,包含课件和源码

  出租广告位,需要合作请联系站长

+关注
已关注

分类  

暂无分类

标签  

暂无标签

日期归档  

暂无数据

对字符串进行排序并返回

发布于2021-07-23 03:20     阅读(699)     评论(0)     点赞(7)     收藏(3)



所以我有这个代码,我想对一个字符串进行排序并返回它

    def sort_int_string(one_string):

        one_string = one_string.replace("\n", ' ')
        one_string = one_string.replace("\t", ' ')
        one_string = one_string.strip()

       if len(one_string) == 0:
            return ''
       else: 
            one_string = one_string.split(" ")
            one_string = [int(i) for i in one_string]
            one_string.sort()
            one_string = [str(i) for i in one_string]
            return ' '.join(one_string) 

但是当我尝试用它运行它时。

    hello = "\t42    4    -17\n"
    print(sort_int_string(hello)

我得到错误无效文字的 int() 基数为 10: '' 不知道为什么我会得到这个。请帮忙。


解决方案


您的代码的问题在于数组中存在空字符串,并且在对其进行检查时会返回错误,因为它无法转换为 int。所以只需做一个条件来检查 i 值不是空字符串。

def sort_int_string(one_string):

    one_string = one_string.replace("\n", ' ')
    one_string = one_string.replace("\t", ' ')
    one_string = one_string.strip()

    if len(one_string) == 0:
        return ''
    else: 
        one_string = one_string.split(" ")
        one_string =  [int(i) for i in one_string if i != ""]
        one_string.sort()
        one_string = [str(i) for i in one_string]
        return ' '.join(one_string) 

hello = "\t42    4    -17\n"
print(sort_int_string(hello))

产出

-17 4 42






所属网站分类: 技术文章 > 问答

作者:黑洞官方问答小能手

链接:https://www.pythonheidong.com/blog/article/1003964/0d49eb9c07d2271a106e/

来源:python黑洞网

任何形式的转载都请注明出处,如有侵权 一经发现 必将追究其法律责任

7 0
收藏该文
已收藏

评论内容:(最多支持255个字符)