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

在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'





评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值