Join()和 List()的 6 种化学反应

简介: Join()和 List()的 6 种化学反应

image.png


下酒菜


class Obj:
    def __init__(self, val):
        self.val = val
    def __str__(self):
        return str(self.val)
lst = [Obj(0), Obj(1), Obj(2), Obj(4)]
# 输出
0124

1 Join + List  + Str

   首先,该string.join(iterable)方法是使用iterable字符串作为输入,并使用string将它们串起来。
 其次,创建列表  最后使用 str(...) 函数将任何 Python 对象转换为字符串表示形式。

 结合这三个功能,可以得到以下简单的解决方案,以连接对象列表的字符串表示形式。



print(''.join([str(x) for x in lst]))# 0124


2 十转八  Join +Generator Expression(生成器)+ Str

由于join()函数需要一个字符串列表,因此需要使用 str(x)函数将所有对象转换为纯字符串。图片来源互联网但是,一次转换一个对象就足够了,因为join函数只需要一个可迭代的输入即可。(所有Python列表都是可迭代的,但并非所有可迭代对象都是Python列表)要释放内存,可以使用生成器表达式(无需创建列表所需的方括号):



print(''.join(str(x) for x in lst))# 0124

3 Join + Generator Expression(生成器) + Custom String Representation(自定义字符串)

对 2 稍作修改是使用自己定义字符串的表示形式,不是使用__str__方法实现。


print(''.join(str(x.val) for x in lst))# 0124

4 join+ map + Lambda

 map() 函数将每个元组转换为字符串值,并且使用 join() 方法将字符串集合转换为单个字符串。Lambda 函数是未在名称空间中定义的匿名函数 。语法为:lambda <argument name(s)> : <return expression>


print(''.join(map(lambda x: str(x), lst)))# 0124

5 Join + Map + Str

无需使用 lambda 函数将每个列表元素转换为字符串形式。


print(''.join(map(str, lst)))# 0124

6 Simple Loop(循环) + Str

当然,还可以通过使用简单的for循环构建字符串解决问题


s = ''for x in lst:    s += str(x)print(s)# 0124

---End---

相关文章
|
存储 机器学习/深度学习 数据可视化
Python面板时间序列数据预测:格兰杰因果关系检验Granger causality test药品销售实例与可视化
Python面板时间序列数据预测:格兰杰因果关系检验Granger causality test药品销售实例与可视化
|
1天前
|
数据采集 人工智能 安全
|
10天前
|
云安全 监控 安全
|
2天前
|
自然语言处理 API
万相 Wan2.6 全新升级发布!人人都能当导演的时代来了
通义万相2.6全新升级,支持文生图、图生视频、文生视频,打造电影级创作体验。智能分镜、角色扮演、音画同步,让创意一键成片,大众也能轻松制作高质量短视频。
912 150
|
15天前
|
机器学习/深度学习 人工智能 自然语言处理
Z-Image:冲击体验上限的下一代图像生成模型
通义实验室推出全新文生图模型Z-Image,以6B参数实现“快、稳、轻、准”突破。Turbo版本仅需8步亚秒级生成,支持16GB显存设备,中英双语理解与文字渲染尤为出色,真实感和美学表现媲美国际顶尖模型,被誉为“最值得关注的开源生图模型之一”。
1647 8
|
6天前
|
人工智能 前端开发 文件存储
星哥带你玩飞牛NAS-12:开源笔记的进化之路,效率玩家的新选择
星哥带你玩转飞牛NAS,部署开源笔记TriliumNext!支持树状知识库、多端同步、AI摘要与代码高亮,数据自主可控,打造个人“第二大脑”。高效玩家的新选择,轻松搭建专属知识管理体系。
366 152
|
7天前
|
人工智能 自然语言处理 API
一句话生成拓扑图!AI+Draw.io 封神开源组合,工具让你的效率爆炸
一句话生成拓扑图!next-ai-draw-io 结合 AI 与 Draw.io,通过自然语言秒出架构图,支持私有部署、免费大模型接口,彻底解放生产力,绘图效率直接爆炸。
607 152
|
9天前
|
人工智能 安全 前端开发
AgentScope Java v1.0 发布,让 Java 开发者轻松构建企业级 Agentic 应用
AgentScope 重磅发布 Java 版本,拥抱企业开发主流技术栈。
572 13
|
2天前
|
编解码 人工智能 机器人
通义万相2.6,模型使用指南
智能分镜 | 多镜头叙事 | 支持15秒视频生成 | 高品质声音生成 | 多人稳定对话