Loading [MathJax]/jax/output/CommonHTML/config.js
前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >python字符串转化列表_Python列表到字符串的转换[通俗易懂]

python字符串转化列表_Python列表到字符串的转换[通俗易懂]

作者头像
全栈程序员站长
发布于 2022-08-25 08:21:46
发布于 2022-08-25 08:21:46
2.9K00
代码可运行
举报
运行总次数:0
代码可运行

大家好,又见面了,我是你们的朋友全栈君。

python字符串转化列表

Sometimes we want to convert the list to a string so that we can print it or log it for debugging purposes. In this tutorial, we will learn how to convert a list to string in a Python program.

有时我们希望将列表转换为字符串,以便我们可以打印或记录该列表以进行调试。 在本教程中,我们将学习如何在Python程序中将列表转换为字符串。

Python列表到字符串的转换 (Python List to String Conversion)

If the list contains a string, int, floats then its elements values are getting printed when we print the list.

如果列表包含字符串int浮点数,则在我们打印列表时将打印其元素值。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
l1 = [1, 2, 3]
print(l1)

l1 = ['A', 'B', 'C']
print(l1)

l1 = ['A', 'B', 'C', 1, 2, 3.5]
print(l1)

Output:

输出:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
[1, 2, 3]
['A', 'B', 'C']
['A', 'B', 'C', 1, 2, 3.5]

If you don’t want brackets in the output, you can use string strip() function or slicing to remove them.

如果不想在输出中使用括号,则可以使用字符串strip()函数或切片将其删除。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
print(str(l1).strip('[]'))
print(str(l1)[1:-1])

Output:

输出:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
'A', 'B', 'C', 1, 2, 3.5
'A', 'B', 'C', 1, 2, 3.5

Python对象列表到字符串的转换 (Python List of Objects to String Conversion)

Let’s see what happens when our list contains custom objects.

让我们看看列表包含自定义对象时会发生什么。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
class Data:
    id = 0

    def __init__(self, i):
        id = i

l1 = [Data(10), Data(20)]
print(l1)

Output:

输出:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
[<__main__.Data object at 0x10f3dd320>, <__main__.Data object at 0x10f3dd2e8>]

The information is not useful because it doesn’t contain any information about Data objects.

该信息无用,因为它不包含有关Data对象的任何信息。

When we print a list, it tries to invoke its elements __repr__() function. Since our object doesn’t define its own repr() function, its superclass object repr() is called which prints this information.

当我们打印列表时,它会尝试调用其元素__repr __()函数。 由于我们的对象没有定义自己的repr()函数,因此将调用其超类对象repr()来打印此信息。

Let’s define __repr__() function for Data class as follows:

让我们为Data类定义__repr __()函数,如下所示:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
def __repr__(self):
        return f'Data[{self.id}]'

Now the output of above print statement will be:

现在,上述打印语句的输出将是:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
[Data[0], Data[0]]

Sometimes an object defines only __str__() function and doesn’t define __repr__() function. In that case, we can convert the list to string by calling str() function on its elements.

有时,一个对象仅定义__str __()函数,而没有定义__repr __()函数。 在这种情况下,我们可以通过在其元素上调用str()函数将列表转换为字符串。

This can be done by using string join() function with an iterator as argument or by using map() function.

这可以通过使用带有迭代器作为参数的字符串join()函数或通过使用map()函数来完成

Let’s define __str__() function for Data class as:

让我们为Data类定义__str __()函数为:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
def __str__(self):
        return f'D[{self.id}]'

Now we can get string representation of the list elements and print it using following code:

现在,我们可以获取列表元素的字符串表示形式,并使用以下代码进行打印:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
print(', '.join(map(str, l1)))
print(', '.join(str(e) for e in l1))

Output:

输出:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
D[0], D[0]
D[0], D[0]

Note that if __str__() function is not defined for an object, str() function fallback to calling __repr__() function. In that case __repr__() should return string object.

请注意,如果未为对象定义__str __()函数,则str()函数将回退到调用__repr __()函数。 在这种情况下,__repr __()应该返回字符串对象。

If we remove __str__() function from Data class, then above join() snippets output will be:

如果我们从Data类中删除__str __()函数,则以上join()片段输出将为:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
Data[0], Data[0]
Data[0], Data[0]

We can specify our own delimiter when using join() function.

使用join()函数时,我们可以指定自己的定界符。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
print('|'.join(map(str, l1)))
print('#'.join(str(e) for e in l1))

Output:

输出:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
D[0]|D[0]
D[0]#D[0]

GitHub Repository. GitHub存储库中检出完整的python脚本和更多示例。

翻译自: https://www.journaldev.com/23655/python-list-to-string-conversion

python字符串转化列表

发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/142963.html原文链接:https://javaforall.cn

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2022年5月1,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
Python学习:内建属性、内建函数的教程
子类没有实现__init__方法时,默认自动调用父类的。 如定义__init__方法时,需自己手动调用父类的 __init__方法。
闻说社
2025/02/25
770
Python学习:内建属性、内建函数的教程
盘一盘 Python 系列特别篇 - 面向对象编程
在写 Keras (下) 时,发现很多内容都要用到类 (class) 和对象 (object),因此本文作为 Python 系列的特别篇,主要介绍面向对象编程 (Object-Oriented Programming, OOP)。
用户5753894
2019/10/08
9180
盘一盘 Python 系列特别篇 - 面向对象编程
python 之 内置函数大全[通俗易懂]
  戳:https://docs.python.org/2/library/functions.html
全栈程序员站长
2022/09/08
4260
python 之 内置函数大全[通俗易懂]
一文让你彻底搞懂`__str__`和`__repr__`?
我们都知道,Python的内置函数repr()能够把对象用字符串的形式表达出来,方便我们辨认。这就是“字符串表示形式”。repr()就是通过__repr__这个特殊方法来得到一个对象的字符串表示形式的。如果没有实现__repr__,当我们在控制台里打印一个向量的实例时,得到的字符串可能会是 <Vector object at 0x10a514f98>。
宇宙之一粟
2020/10/26
1.6K0
可以格式化Python自定义对象的3个魔术方法
在Python中,下划线用于属性名时具有特殊含义。一种特殊形式是使用两对双下划线,一个在属性名之前,另一个在属性名之后,这被称为特殊方法或魔术方法。
deephub
2021/03/10
4340
Python 5.4 定制类
看到类似的__slots__这种形如__xx__的变量或者函数名就要注意,这些在Python中有特殊用途。
py3study
2020/01/14
6970
Python格式化字符串format
文章作者:Tyan 博客:noahsnail.com | CSDN | 简书
Tyan
2020/06/22
5550
python3--面向对象进阶之内置方法
print执行时,是去内部寻找__str__方法,所以print没有输出不了的数据,因为每一个对象都有__str__方法
py3study
2018/08/02
4860
Python 中的魔法函数
魔法函数是Python中的特性,学习好魔法函数将有助于我们写出优秀的pythonic(优雅的、地道的、整洁的)代码,同时因为Python语言的特性,我们在进行框架设计的时候除了设计模式等高级技能,魔法函数是必须使用的,因此学习好魔法函数是Python语言进阶的必经之路。下面我们就为大家介绍Python里的常用魔法函数。
星星在线
2021/01/04
8650
Python 中的魔法函数
Python之面向对象四
面向对象进阶 一、关于面向对象的两个内置函数 isinstance   判断类与对象的关系    isinstance(obj,cls)检查obj是否是类 cls 的对象,返回值是bool值 issubclass     判断类与类的关系             issubclass(sub, super)检查sub类是否是 super 类的派生类,返回值是bool值 class A: pass class B(A): pass a = A() print(isinstance(a,A))
新人小试
2018/04/12
8700
python的字符串学习(三)
学习Python语言,不得不学习在Python中,对字符串的处理,事实上,在Str类中提供了很多的方法来对字符串的处理,比如我们经常见的字符串的大小小写的处理,字符串的分割合并等,那么我们是怎么知道这些方法了?比如我定义了一个字符串,我怎么知道字符串的操作方法有哪些?
无涯WuYa
2018/10/25
5350
python的字符串学习(三)
python基础-内置函数详解[通俗易懂]
大家好,又见面了,我是你们的朋友全栈君。 一、内置函数(python3.x) 内置参数详解官方文档: https://docs.python.org/3/library/functions.htm
全栈程序员站长
2022/09/07
5110
python基础-内置函数详解[通俗易懂]
python字符串内置函数
定义:它是一个有序的字符的集合,用于存储和表示基本的文本信息,‘’或“”或‘’‘ ’‘’中间包含的内容称之为字符串
用户7886150
2021/01/09
3060
10 Python 基础: 如何定制类,这里有答案
看到类似__slots__这种形如__xxx__的变量或者函数名就要注意,这些在Python中是有特殊用途的。
野原测试开发
2019/09/19
7070
python字符串String模块
>>> print str.center(20)           #生成20个字符长度,str排中间
py3study
2020/01/09
9790
Python 中的字符串 — str
由于 Python 源代码也是一个文本文件,所以,当你的源代码中包含中文的时候,在保存源代码时,就需要务必指定保存为 UTF-­8 编码。当 Python 解释器读取源代码时,为了让它按 UTF-­8 编码读取,我们通常在文件开头写上这两行:
忆想不到的晖
2021/12/06
1.3K0
python ——面向对象进阶
1.staticmethod和classmethod staticmethod  静态方法: 让类里的方法,直接被类调用,就像正常的函数一样 宝宝,男 博博,女 海娇,男 海燕,女 海东,男 海峰,男 class Student: # f = open('student', encoding='utf-8') def __init__(self): pass @staticmethod def show_student_info(): f
用户1214487
2018/01/23
5950
学习Python的利器:内置函数dir()和help()
(1)内置函数dir()用来查看对象的成员。在Python中所有的一切都是对象,除了整数、实数、复数、字符串、列表、元组、字典、集合等等,还有range对象、enumerate对象、zip对象、filter对象、map对象等等,函数也是对象,类也是对象,模块也是对象。这样的话,dir()的用武之地就大了。 >>> dir(3) #查看整数类型的成员,这里省略了输出结果 >>> dir('a') #查看字符串类型的成员 >>> import math >>> dir(math) #查看math模块的成员 >
Python小屋屋主
2018/04/17
1.3K0
反转字符串/列表、改变递归次数限制、else用法...Python 冷知识(四)
本文转载自Python编程时光(ID:Python-Time) 交互式“_”操作符
AI科技大本营
2019/05/14
1.1K0
反转字符串/列表、改变递归次数限制、else用法...Python 冷知识(四)
Python基础常见面试题总结[通俗易懂]
以下是总结的一些常见的Python基础面试题,帮助大家回顾基础知识,了解面试套路。会一直保持更新状态。 PS:加粗为需要注意的点。
全栈程序员站长
2022/11/19
2.4K0
Python基础常见面试题总结[通俗易懂]
相关推荐
Python学习:内建属性、内建函数的教程
更多 >
领券
💥开发者 MCP广场重磅上线!
精选全网热门MCP server,让你的AI更好用 🚀
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
本文部分代码块支持一键运行,欢迎体验
本文部分代码块支持一键运行,欢迎体验