zoukankan      html  css  js  c++  java
  • python 之 join的用法

    今天在学习的时候,发现一段代码

    执行压缩文件的时候

    source_name = "sys_bak.tar.gz"

    source_dir = ["/etc","/boot","/var/www/html"]

    tar_cmd = "tar zcvf %s %s " %(source_name, ' '.join(source_dir))

    始终没有理解 ' '.join(soure_dir)在这里的用法 

    经过一番研究,终于搞明白了。之前一直和 split函数搞混了,一直模糊的认为是join可转换为list,其实不然是split函数。

    >:这就是看书不认真导致

    a.split("") 是可以将str -----> list

    如:

    >>> a = "thx for you"
    >>> type (a)
    <type 'str'>

    >>> a.split(" ")
    ['thx', 'for', 'you']
    >>> type(a)
    <type 'str'>
    >>> c = a.split(" ")
    >>> type(c)
    <type 'list'>

    而 join可以说是 split的逆运算

    如:

    >>> word = ["/abc","/def","/ghi"]

    >>> word_str = ' '.join(word)
    >>> print word_str
    /abc /def /ghi

    >>> type(word_str)
    <type 'str'>

    再来一个:

    >>> data = [1,2,3,4,5]
    >>> data_str = ' '.join(data)
    Traceback (most recent call last):
    File "<stdin>", line 1, in <module>
    TypeError: sequence item 0: expected string, int found

    为什么到这里就不行了呢

    因为join转换之后,就成了 1,2,3,4,5  而本身1,2,3,4,5是int类型的

    >>> data_other = ["1","2","3","4"]
    >>> data_ostr = ' '.join(data_other)

    >>> type(data_ostr)
    <type 'str'>
    >>> print data_ostr
    1 2 3 4

    这样是不是就ok了呢

  • 相关阅读:
    课堂练习02
    第五周进度条
    软件工程个人作业03
    第四周进度条
    构建之法阅读笔记02
    ---JS canvas学习笔记
    JavaScript 对象、DOM对象、jquery对象的区别、转换详解
    JQM---列车时刻查询
    JS---如何避免用户在请求时“猛击”
    HTML5 新增属性和废除属性
  • 原文地址:https://www.cnblogs.com/glxsc/p/5130963.html
Copyright © 2011-2022 走看看