Python中如何将数组转换为字符串?

以下这段数组
[{‘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>
这样的字符串?
Python中如何将数组转换为字符串?


23 回复

python<br>a = [{'beifan': u'D551', 'id': 2L, 'shuliang': 1334L}, {'beifan': u'D552', 'id': 3L, 'shuliang': 4003L}, {'beifan': u'D550', 'id': 4L, 'shuliang': 5103L}] <br>str = ''.join(map(lambda x: '&lt;li&gt;{}:{}&lt;/li&gt;'.format(x['beifan'], x['shuliang']), a))<br>print(str)<br>


# 几种常见的数组转字符串方法:

# 1. 使用join()方法(最常用)
arr = ['Python', 'Java', 'C++', 'JavaScript']
result = ', '.join(arr)  # 用逗号和空格连接
print(result)  # 输出: Python, Java, C++, JavaScript

# 2. 使用str()转换(简单但格式固定)
arr = [1, 2, 3, 4]
result = str(arr)
print(result)  # 输出: [1, 2, 3, 4]  (保留列表格式)

# 3. 使用列表推导式+join(处理非字符串元素)
arr = [1, 2, 3, 4]
result = ' '.join(str(x) for x in arr)
print(result)  # 输出: 1 2 3 4

# 4. 使用map()函数
arr = [1.5, 2.5, 3.5]
result = '|'.join(map(str, arr))
print(result)  # 输出: 1.5|2.5|3.5

# 5. 格式化字符串(Python 3.6+)
arr = ['a', 'b', 'c']
result = f"{arr}"  # 或直接str(arr)
print(result)  # 输出: ['a', 'b', 'c']

# 对于numpy数组:
import numpy as np
np_arr = np.array([1, 2, 3])
result = np.array2string(np_arr)  # 方法1
result2 = ' '.join(np_arr.astype(str))  # 方法2

# 根据需求选方法:join()最灵活,str()最直接。

选join()就行。

提示 a 没定义?a 是什么?

>>> 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</>’

</li>写成</>了,不过不影响。你改一下就可以。

上面的代码需要 Python 3.6 或者以上才能成功运行。

我的是 2.7,刚才照着图片打了代码,发现没成功

如果是 Python 3.6 或者以下,需要使用:![]( http://7sbpmp.com1.z0.glb.clouddn.com/2017-09-10-22-37-37.png)

看了二楼,我辣眼睛

哈哈,回过头来看懂 a 是什么了

为什么 python 做前端的事?

建议老实用模板引擎之类的,功能比 builtin 的强大,还帮你处理转义问题

贴代码可以用 gist

手写 HTML ……

用模板语言处理这个很容易呀

主要是因为我不懂 websocket 怎么传数组

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}]
])

直接传 json 呀

也可以

按照一楼的方法解决了

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>’

回到顶部