列表和字符串互相转换
在网上普遍搜索到的结果都是使用 split
和 join
实现字符串的拆分和列表的重组
1. 字符串转列表
str1 = "hi hello world"
print(str1.split(" "))
输出:
['hi', 'hello', 'world']
2. 列表转字符串
l = ["hi","hello","world"]
print(" ".join(l))
输出:
hi hello world
无意中发现一个另外的方法,在此记录一下
- 首先介绍一下 repr() 函数:repr() 函数将对象转化为供解释器读取的形式。
list1 = ['google','google.com'] repr(list1) "['google','google.com']"
- repr 和 str 强制类型转换有异曲同工之妙,那两者的区别是什么呢?
- 使用 repr 和 str 对对象进行强制类型转换时,返回的都是 str 类型
list1 = ['test1', 'test2', 'test3'] str1 = str(list1) type(str1) # <class 'str'> repr1 = repr(list1) # <class 'str'>
- 虽然两者返回都是 str 类型,但是 repr 返回的对象可以通过 eval() 对其进行反转
newlist = eval(repr1) newlist # ['test1', 'test2', 'test3'] type(newlist) # <class 'list'>
- 使用 repr 和 str 对对象进行强制类型转换时,返回的都是 str 类型