python3.x中列表,元祖,字符串之间的互相转换(较详细)
str1 = 'helloWord' #字符串
list1 = ['你','好','世','界'] #列表(内部全为字符串)
list2 = ['你','好',1,2,3]
tuple1 = ('我','爱','中','国') #元组
tuple2 = '哪吒','敖丙','申公豹',666 #包含数字的元组
#字符串转列表
strtolist = list(str1)
print(strtolist)
#['h', 'e', 'l', 'l', 'o', 'W', 'o', 'r', 'd']
#字符串转元组
strtotuple = tuple(str1)
print(strtotuple)
#('h', 'e', 'l', 'l', 'o', 'W', 'o', 'r', 'd')
#列表转字符串(失败) 此种方法不适用列表和元祖对字符串的直转
listtoStr = str(list1)
print(listtoStr)
#['你', '好', '世', '界']
#列表(纯字符串)转字符串(成功)
listtoStr1 = ''.join(list1)
print('listtoStr1的值为:{}'.format(listtoStr1))
#listtoStr1的值为:你好世界
'''
#列表(包含数字)转字符串(失败)
listtoStr2 = ''.join(list2)
print('listtoStr1的值为:{}'.format(listtoStr2))
#报错信息:sequence item 2: expected str instance, int found
#列表内需均为字符串类型,包含int类型不可以使用.join方法转
#将列表内的数字类型转为字符串,使用列表推导式
'''
listInStr = [str(i) for i in list2]
listtoStr3 = ''.join(listInStr)
print('列表内包含数字,转字符串为:{}'.format(listtoStr3))
#列表内包含数字,转字符串为:你好123
#列表转元组
listToTuple = tuple(list1)
print(listToTuple)
#('你', '好', '世', '界')
'''
#元组转字符串(失败)
tupleToStr = str(tuple1)
print(tupleToStr)
#('我', '爱', '中', '国')
'''
#元组(内只有字符)转字符串,成功
tupleToStr1 = ''.join(tuple1)
print('字符串元组转字符串:{}'.format(tupleToStr1))
#字符串元组转字符串:我爱中国
'''
#元组(包含数字)转字符串
tupleToStr2 = ''.join(tuple2)
print('字符串元组转字符串:{}'.format(tupleToStr2))
#报错sequence item 3: expected str instance, int found
'''
#报错与列表转字符串报错内容一致,使用元组推导式,先把元组内的数据全部改成str
tupleToStr3 = (str(i) for i in tuple2)
#试一试tupleToStr3 = [str(i) for i in tuple2]可不可以,为什么
tupleToStr3 = ''.join(tupleToStr3)
print('字符串元组(包含数字)转字符串:{}'.format(tupleToStr3))
#字符串元组(包含数字)转字符串:哪吒敖丙申公豹666
#元组转列表
tupleTolist = list(tuple1)
print(tupleTolist)
#['我', '爱', '中', '国']
#元组(包含数字)转列表
tupleTolist1 = list(tuple2)
print(tupleTolist1)
#['哪吒', '敖丙', '申公豹', 666]