2024-04-20 01:48:44 发布
网友
在Python3.4中,我有一个元组
t = ('A', 'B', 'C')
还有一张单子
l = ['P', 'Q', 'R']
我需要将元组转换为格式为"(#A;#B;#C)"的字符串,将列表转换为格式为"(@P; @Q; @R)"的字符串。显而易见的方法是使用for循环和字符串操作遍历。你知道吗
"(#A;#B;#C)"
"(@P; @Q; @R)"
有没有不运行循环的方法?你知道吗
谢谢!你知道吗
为什么不使用循环?这可以非常简单地通过理解来完成:
>>> t = ('A', 'B', 'C') >>> '({})'.format(';'.join('#{}'.format(s) for s in t)) '(#A;#B;#C)' >>> >>> l = ['P', 'Q', 'R'] >>> '({})'.format('; '.join('@{}'.format(s) for s in l)) '(@P; @Q; @R)' >>>
如果不使用循环,另一种方法是将它们转换为string并使用string的replace方法,如下所示
str(t).replace("', '", ";#").replace("('", "(#").replace("')", ")") str(l).replace("', '", '; @').replace("['", "(@").replace("']", ")")
如果只有三个元素,也可以分别替换它们。你知道吗
如果您真的坚持自己的格式和no for循环,那么可以尝试以下方法:
l_result = '(@' + '; @'.join(l) + ')' t_result = '(#' + ';#'.join(t) + ')'
为什么不使用循环?这可以非常简单地通过理解来完成:
如果不使用循环,另一种方法是将它们转换为string并使用string的replace方法,如下所示
如果只有三个元素,也可以分别替换它们。你知道吗
如果您真的坚持自己的格式和no for循环,那么可以尝试以下方法:
相关问题 更多 >
编程相关推荐