版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/quanqxj/article/details/78520022
python 中join 和 split的用法
1.join
用法示例:
In [1]: words = ['I','like','to','dance']
In [3]: ' '.join(words)
Out[3]: 'I like to dance'
In [4]: '_'.join(words)
Out[4]: 'I_like_to_dance'
2.split
用法示例:
In [5]: test = 'I like to dance'
In [6]: test.split()
Out[6]: ['I', 'like', 'to', 'dance']
In [10]: test.split(' ',1)
Out[10]: ['I', 'like to dance']
举一个复杂的例子:
cast(''.join('|{: ^5} '.format(num) if num > 0 else '| ' for num in row) + '|')
join 是split 的逆方法
以上代码中:
^
是居中显式,<
是左对齐,>
是右对齐,冒号后面有一个空格
,意思是空格填充
。
例如使用a = '{:0<5}'.format(123)
那么结果就是'12300'
,左对齐,长度为5,使用 0 填充,对于
题目中|{: ^5} '.format(num)
,同理,不同的是使用空格填充,并且是居中
('|{: ^5} '.format(num) if num > 0 else '| ' for num in row)
,
仔细分析,类似于
([x if x > 3 else x*2 for x in range(10)])
,
这个跟上面的结构基本类似,加上方括号更好理解一点,
range(10) = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9],for x in range(10)
,
即在0-9 之间,if x > 3
,如果x > 3
,得到x
,else x *2
,否则得到x*2