推荐学习书目
Learn Python the Hard Way
Python Sites
PyPI - Python Package Index
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
kisscucci
V2EX  ›  Python

数组转字符串?

  •  
  •   kisscucci · Sep 10, 2017 · 4365 views
    This topic created in 3192 days ago, the information mentioned may be changed or developed.
    以下这段数组
    [{'beifan': u'D551', 'id': 2L, 'shuliang': 1334L}, {'beifan': u'D552', 'id': 3L, 'shuliang': 4003L}, {'beifan': u'D550', 'id': 4L, 'shuliang': 5103L}]
    怎么转换成为
    <li>D551:1334</li><li>D552:4003</li><li>D550:5103</li>
    这样的字符串?
    22 replies    2017-09-13 00:57:19 +08:00
    linboki
        1
    linboki  
       Sep 10, 2017   ❤️ 1
    ```python
    a = [{'beifan': u'D551', 'id': 2L, 'shuliang': 1334L}, {'beifan': u'D552', 'id': 3L, 'shuliang': 4003L}, {'beifan': u'D550', 'id': 4L, 'shuliang': 5103L}]
    str = ''.join(map(lambda x: '<li>{}:{}</li>'.format(x['beifan'], x['shuliang']), a))
    print(str)
    ```
    kisscucci
        2
    kisscucci  
    OP
       Sep 10, 2017
    @linboki 提示 a 没定义?a 是什么?
    billion
        4
    billion  
       Sep 10, 2017
    >>> x = [{'beifan': 'D551', 'id': 2, 'shuliang': 1334}, {'beifan': 'D552', 'id': 3, 'shuliang': 4003}, {'beifan': 'D550', 'id': 4, 'shuliang': 5103}]
    >>> ''.join([f'<li>{a["beifan"]}:{a["shuliang"]}</>' for a in x])
    '<li>D551:1334</><li>D552:4003</><li>D550:5103</>'
    billion
        5
    billion  
       Sep 10, 2017
    </li>写成</>了,不过不影响。你改一下就可以。
    billion
        6
    billion  
       Sep 10, 2017
    上面的代码需要 Python 3.6 或者以上才能成功运行。
    kisscucci
        7
    kisscucci  
    OP
       Sep 10, 2017
    @billion 我的是 2.7,刚才照着图片打了代码,发现没成功
    billion
        8
    billion  
       Sep 10, 2017   ❤️ 1
    如果是 Python 3.6 或者以下,需要使用:![]( http://7sbpmp.com1.z0.glb.clouddn.com/2017-09-10-22-37-37.png)
    caijihui11
        9
    caijihui11  
       Sep 10, 2017   ❤️ 1
    看了二楼,我辣眼睛
    kisscucci
        10
    kisscucci  
    OP
       Sep 10, 2017
    @caijihui11 哈哈,回过头来看懂 a 是什么了
    Victor215
        11
    Victor215  
       Sep 11, 2017 via Android
    为什么 python 做前端的事?
    secondwtq
        12
    secondwtq  
       Sep 11, 2017
    建议老实用模板引擎之类的,功能比 builtin 的强大,还帮你处理转义问题
    CEBBCAT
        13
    CEBBCAT  
       Sep 11, 2017 via Android
    贴代码可以用 gist
    0ZXYDDu796nVCFxq
        14
    0ZXYDDu796nVCFxq  
       Sep 11, 2017 via iPhone
    手写 HTML ……
    Terry05
        15
    Terry05  
       Sep 11, 2017
    用模板语言处理这个很容易呀
    kisscucci
        16
    kisscucci  
    OP
       Sep 11, 2017 via iPhone
    @Victor215 主要是因为我不懂 websocket 怎么传数组
    RealLiuSha
        17
    RealLiuSha  
       Sep 11, 2017
    print([
    "{beifan}:{shuliang}".format(**item)
    for item in [{'beifan': u'D551', 'id': 2L, 'shuliang': 1334L}, {'beifan': u'D552', 'id': 3L, 'shuliang': 4003L}, {'beifan': u'D550', 'id': 4L, 'shuliang': 5103L}]
    ])
    kisscucci
        18
    kisscucci  
    OP
       Sep 11, 2017 via iPhone
    @lgpqdwjh 谢谢
    Victor215
        19
    Victor215  
       Sep 11, 2017
    直接传 json 呀
    kisscucci
        20
    kisscucci  
    OP
       Sep 11, 2017 via iPhone
    @Victor215 也可以
    kisscucci
        21
    kisscucci  
    OP
       Sep 11, 2017 via iPhone
    按照一楼的方法解决了
    yucongo
        22
    yucongo  
       Sep 13, 2017
    In [578]: d = [{'beifan': u'D551', 'id': 2, 'shuliang': 1334}, {'beifan': u'D552', 'id': 3, 'shuliang': 4003}, {'beifan': u'D550', 'id': 4, 'shuliang': 5103}]
    In [579]: ''.join(['<li>' + elm.get('beifan') + ':' + str(elm.get('shuliang')) + '</li>' for elm in d])
    Out[579]: '<li>D551:1334</li><li>D552:4003</li><li>D550:5103</li>'
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Solana   ·   3127 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 48ms · UTC 13:36 · PVG 21:36 · LAX 06:36 · JFK 09:36
    ♥ Do have faith in what you're doing.