python互相转换组合_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'

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值