首页   注册   登录
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
推荐学习书目
Learn Python the Hard Way
Python 学习手册
Python Cookbook
Python 基础教程
Python Sites
PyPI - Python Package Index
http://www.simple-is-better.com/
http://diveintopython.org/toc/index.html
Pocoo
值得关注的项目
PyPy
Celery
Jinja2
Read the Docs
gevent
pyenv
virtualenv
Stackless Python
Beautiful Soup
结巴中文分词
Green Unicorn
Sentry
Shovel
Pyflakes
pytest
Python 编程
pep8 Checker
Styles
PEP 8
Google Python Style Guide
Code Style from The Hitchhiker's Guide
V2EX  ›  Python

str().join()有没有像 str().split()那样能够给定一个分隔符参数,用这个分隔符连起来的方法呢?

  •  
  •   evolighting · 2015-05-22 20:28:58 +08:00 · 2221 次点击
    这是一个创建于 1663 天前的主题,其中的信息可能已经有所发展或是发生改变。
    15 回复  |  直到 2015-05-22 22:10:44 +08:00
        1
    Septembers   2015-05-22 20:30:58 +08:00
        2
    evolighting   2015-05-22 20:38:36 +08:00
    @Septembers
    但是,join是不支持两个参数的呀?我也确实是在2.7版本的python上试过了
    结果:
    ”TypeError: join() takes exactly one argument (2 given)“
        3
    Septembers   2015-05-22 20:42:18 +08:00   ♥ 1
    好吧看错了

    >>> '-'.join(str(_) for _ in range(10))
    '0-1-2-3-4-5-6-7-8-9'

    string.join只接受list of string

    see https://docs.python.org/2/library/string.html#string.join
        4
    zhicheng   2015-05-22 20:43:01 +08:00 via Android
    你说的是什么?
    '-'.join(['a','b','c'])
    这样?
        5
    evolighting   2015-05-22 20:51:55 +08:00
    @zhicheng
    具体来说,就是把list中的东西连起来,用分隔符分隔一下...用于输出......类似与格式化输出吧,但是这个列表,一是非常长,二是长度不定....其实说起来应该还是可以用格式化输出的方法搞定的.....不过不太明白怎么做
    于是我用了一个愚蠢的方法解决这个问题,[x + "\t" for x in list] 这样.....
    来这里问问,其实纯粹就是好奇....搜来搜去没有找到很好答案...嗯我是新来的....
        6
    evolighting   2015-05-22 20:53:11 +08:00
    @Septembers
    原来如此,我并没有理解这个东西的用法多谢了!
        7
    roychan   2015-05-22 21:05:04 +08:00
    >>> from functools import reduce
    >>> a = ['1', '2', '3']
    >>> b = reduce(lambda x, y: x + '-' + y, a)
    >>> b
    '1-2-3'
    >>>
        8
    zhicheng   2015-05-22 21:08:43 +08:00 via Android
    赞楼上。。。。我决定把这题作为招聘笔试题。
        9
    roychan   2015-05-22 21:12:57 +08:00
    @zhicheng 这方法比较麻烦…
        10
    zhicheng   2015-05-22 21:14:46 +08:00 via Android
    哈哈哈,原来你不是在调侃。那么你没有Pass。。。
        11
    roychan   2015-05-22 21:49:36 +08:00
    @zhicheng 才学了俩月=_=
        12
    roychan   2015-05-22 21:50:57 +08:00
    @roychan 还是大一通识课学的 =_=
        13
    sirgod   2015-05-22 22:04:21 +08:00
    @roychan reduce不用import吧?直接用就行了
        14
    zhyu   2015-05-22 22:06:58 +08:00
    @sirgod python3
        15
    staticor   2015-05-22 22:10:44 +08:00
    格式输出 pprint 有帮助吗?
    关于   ·   FAQ   ·   API   ·   我们的愿景   ·   广告投放   ·   感谢   ·   实用小工具   ·   980 人在线   最高记录 5043   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.3 · 29ms · UTC 21:17 · PVG 05:17 · LAX 13:17 · JFK 16:17
    ♥ Do have faith in what you're doing.