• Python基础之join函数


    Python join()函数
    今天写python 100例时,有个题目是大致是这样的:已知输入形式是1+3+2+1,要求输出形式为1+1+2+3

    一开始思路是将输入的字符串用split()函数划分成数组,在对数组进行排序,再用for循环输出

    代码附上:

    a = map(int,raw_input().split('+'))
    a = sorted(a)
    for i in a:
    if(i != len(a)):
    print i,'+'
    else:
    print i

     

    虽然能够输出正确结果,但是代码过于繁琐。由于先前学习C语言,也做过相关算法练习,所以思想被固定。

    再看了一下大神的代码,简直膜拜了。

    代码附上:

    print "+".join(sorted(raw_input()[::2]))

     

    代码简洁,python函数很熟悉。所以去查了一下join相关知识,以下有较全的解释及例子。

     

    函数:string.join()

    Python中有join()和os.path.join()两个函数,具体作用如下:
        join():    连接字符串数组。将字符串、元组、列表中的元素以指定的字符(分隔符)连接生成一个新的字符串
        os.path.join():  将多个路径组合后返回

     

    一、函数说明
    1、join()函数

    语法:  'sep'.join(seq)

    参数说明
    sep:分隔符。可以为空
    seq:要连接的元素序列、字符串、元组、字典
    上面的语法即:以sep作为分隔符,将seq所有的元素合并成一个新的字符串

    返回值:返回一个以分隔符sep连接各个元素后生成的字符串

     

    2、os.path.join()函数

    语法:  os.path.join(path1[,path2[,......]])

    返回值:将多个路径组合后返回

    注:第一个绝对路径之前的参数将被忽略

     

    二、实例

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    #对序列进行操作(分别使用' '与':'作为分隔符)
     
    >>> seq1 = ['hello','good','boy','doiido']
    >>> print ' '.join(seq1)
    hello good boy doiido
    >>> print ':'.join(seq1)
    hello:good:boy:doiido
     
     
    #对字符串进行操作
     
    >>> seq2 = "hello good boy doiido"
    >>> print ':'.join(seq2)
    h:e:l:l:o: :g:o:o:d: :b:o:y: :d:o:i:i:d:o
     
     
    #对元组进行操作
     
    >>> seq3 = ('hello','good','boy','doiido')
    >>> print ':'.join(seq3)
    hello:good:boy:doiido
     
     
    #对字典进行操作
     
    >>> seq4 = {'hello':1,'good':2,'boy':3,'doiido':4}
    >>> print ':'.join(seq4)
    boy:good:doiido:hello
     
     
    #合并目录
     
    >>> import os
    >>> os.path.join('/hello/','good/boy/','doiido')
    '/hello/good/boy/doiido'

  • 相关阅读:
    2018-2019-2 20175202实验三《敏捷开发与XP实践》实验报告
    20175202 葛旭阳 MyCP
    20175202 《Java程序设计》第九周学习总结
    20175202 《Java程序设计》第八周学习总结
    2018-2019-2 20175202实验二《Java面向对象程序设计》实验报告
    20175202 结对编程练习—四则运算(第一周)
    20175203 2018-2019 实验三 《敏捷开发与XP实践》
    2018-2019-20175203 实验二 《Java面向对象程序设计》
    20175203 2018-2019-2 实验一《Java开发环境的熟悉》实验报告
    20175203 2018-2019-2《Java程序设计》第五周学习总结
  • 原文地址:https://www.cnblogs.com/jietingting/p/7076905.html
Copyright © 2020-2023  润新知