Python中string和list互相转换

1. string to list

情况1:

'[1,2,3,4]'  ->  [1,2,3,4]

这里我们就要巧用python中的方法 eval() 了。根据菜鸟教程的讲解,该函数用来执行一个字符串表达式,并返回表达式的值。比如 eval('3*7') 返回的是 21 这个值,那我们用:

In [1]: eval('[1,2,3,4]')
Out[1]: [1, 2, 3, 4]

很巧妙对不对。

情况2:

'1,2,3,4'  ->  [1,2,3,4]

这个不难,根据网友们的集思广益,有很多种解法:

In [2]: list(map(int, '1,2,3,4'.split(',')))
Out[2]: [1, 2, 3, 4]

In [3]: [int(i) for i in '1,2,3,4'.split(',')]
Out[3]: [1, 2, 3, 4]

In [4]: list(eval('1,2,3,4'))
Out[4]: [1, 2, 3, 4]

情况3:

['1','2','3',4']  ->  [1,2,3,4]

这个也不难,根据网友们的集思广益,有很多种解法:

In [5]: list(map(int,['1','2','3','4']))
Out[5]: [1, 2, 3, 4]

In [6]: [int(i) for i in ['1','2','3','4']]
Out[6]: [1, 2, 3, 4]

2. list to string

[1,2,3,4]  ->  '1 2 3 4'
In [1]: ' '.join(str(i) for i in [1,2,3,4])
Out[1]: '1 2 3 4'

你可能感兴趣的:(Python中string和list互相转换)