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

相关文章
|
2天前
|
JavaScript 前端开发
JS tostring()和join()方法
JS tostring()和join()方法
8 1
|
7月前
|
程序员 调度
多线程的创建,复习匿名内部类,Thread的一些方法,以及lambda的变量捕捉,join用法(二)
多线程的创建,复习匿名内部类,Thread的一些方法,以及lambda的变量捕捉,join用法
|
7月前
|
前端开发 Java 程序员
多线程的创建,复习匿名内部类,Thread的一些方法,以及lambda的变量捕捉,join用法(一)
多线程的创建,复习匿名内部类,Thread的一些方法,以及lambda的变量捕捉,join用法
|
2天前
|
Python
解锁Python集合的妙用:常用函数与实例深度解析
解锁Python集合的妙用:常用函数与实例深度解析
28 0
|
9月前
|
关系型数据库 MySQL
MySQL深入浅出: order by if()与order by in()之条件排序
MySQL深入浅出: order by if()与order by in()之条件排序
134 0
|
2天前
|
SQL
Greenplum【SQL 03】实现树结构+自定义函数+避免函数重复调用+ function cannot execute on a QE slice 问题处理(优化过程全记录)
Greenplum【SQL 03】实现树结构+自定义函数+避免函数重复调用+ function cannot execute on a QE slice 问题处理(优化过程全记录)
44 0
|
6月前
|
人工智能 算法 机器人
List 函数排序操作,用对方法事半功倍!
作为一名程序员,以下这些场景你肯定不陌生, 1.数据分析和处理:在处理大量数据时,需要对数据进行排序以进行进一步的分析和处理。例如,在市场调研中,可能需要按照客户的购买频率对客户列表进行排序,以确定哪些客户最有可能购买产品或服务。 2.报表生成:在生成报表时,往往需要按照特定的顺序对数据进行排列,以便清晰地展示数据。例如,在制定销售报告时,可能需要按照销售额对产品进行排序,以了解哪些产品的销售额最高。 ......
|
9月前
如何利用splice()和slice()方法操作数组
如何利用splice()和slice()方法操作数组
44 0
Collection.stream()forEach()和Collection.forEach()有什么区别?
Collection.stream()forEach()和Collection.forEach()有什么区别?
indexof() includes() 判断数组中是否含有谋元素
indexof() includes() 判断数组中是否含有谋元素
indexof() includes() 判断数组中是否含有谋元素