Python中字符串与列表转换及字符串打散组合

来源:互联网 发布:杭州行知小学学区房 编辑:程序博客网 时间:2024/06/05 10:50

在Python中经常会遇到列表中元素转换为字符串,字符串转换为列表,将字符串打散的等问题。下面依次说下我的做法:

1. 读入整数

在做一些OJ时,经常碰到读取输入的整数,如果是读入单个整数,可以用

x = input()
这样x返回的结果就是整数,无需转换,但如果输入是

123 456 78

这样的,光靠input()就比较吃力。可以这样

>>> inList = raw_input()                                   #读取原始输入字符串123 456 78>>> inList'123 456 78'                                               #结果为一个字符串>>> inList = inList.split()                                #把长字符串按空格分隔,打散成多个字符串>>> inList['123', '456', '78']                                       #变成了多个字符串>>> inList = [int(inList[i]) for i in range(len(inList))]  #把字符串转为整型>>> inList[123, 456, 78]                                             #得到了输入的整数,按索引获取相应值

这里变量的转换过程没有用新的变量名,这里是为了方便,也是因为Python支持动态类型,可能对刚学Python且有c/c++编程习惯的同学来说不习惯。


2. 整型列表转为字符串

>>> inList = [1, 2, 3, 4]>>> inList[1, 2, 3, 4]>>> inList = [str(inList[i]) for i in range(len(inList))]>>> inList['1', '2', '3', '4']>>> ('').join(inList)'1234'

3. 字符串的打散及组合

打散

>>> s = list(s)>>> s = 'hello'>>> s'hello'>>> s = list(s)>>> s['h', 'e', 'l', 'l', 'o']  #打散后的结果,如果是要把整数打散,则要先转为字符串


组合1

>>> s=list('hello')>>> str = ''>>> for i in s:...     str += i... >>> str'hello'  

这里会出现...和一行空行是因为在交互端做的。


组合2

利用join函数,更方便

>>> s=list('hello')>>> s['h', 'e', 'l', 'l', 'o']>>> s = ('').join(s)>>> s'hello'





1 0
原创粉丝点击