1.字符串去重,保持原序列不变
x="hellopython"
y=list(set(x))
y.sort(key=x.index)#y此时是列表
x=''.join(y)
print(x)
helopytn
>>>
2.字符串转列表
(1)
x="hellopython"
y=list(x)
print(y)
['h', 'e', 'l', 'l', 'o', 'p', 'y', 't', 'h', 'o', 'n']
>>>
(2)
>>> str(-23)
'-23'
>>> x=[12,'-23.1','python']
>>> str(x)
"[12, '-23.1', 'python']"
>>> str(x[0])
'12'
>>> str(x)[0]
'['
>>> y=(12,'-23.1''python')
>>> str(y)
"(12, '-23.1python')"
>>>
感觉str()函数就是在你要转化的数据的最外层加个引号,而非把每个元素都变为字符串
3.列表转字符串
(1)
list=['a',1,'b',2]
list1=map(str,list)
rest1=''.join(list1)
print(rest1)
a1b2
>>>
(2)
list=['a',1,'b',2]
rest2=''.join(list)
print(rest2)
Traceback (most recent call last):
File "C:/Users/idea/Desktop/4.15.py", line 3, in <module>
rest2=''.join(list)
TypeError: sequence item 1: expected str instance, int found
>>>
注意:join函数的参数应该是全部由字符串构成的可迭代对象。当可迭代对象不全是由字符串构成的时,Python会报错TypeError。
可见,不论是列表、字符串、元组还是字典,他们的元素都打着’ ',即都为字符串
修改上面代码:(把每个元素都变为字符串)
list=['a',1,'b',2]
list2=[str(i) for i in list] #或用map()函数将1,2字符串化
rest2=''.join(list2)
print(rest2)
a1b2
>>>