2024-04-18 07:43:52 发布
网友
我试图打印下面给出的不带括号的元组new_zoo:
new_zoo
zoo=('python','elephant','penguin') new_zoo=('monkey','camel',zoo)
我知道通常我们可以使用', '.join(...)。但是因为这里的new_zoo元组包含一个内部tuple zoo,所以当我使用', '.join(new_zoo)时,它显示:
', '.join(...)
', '.join(new_zoo)
有人能帮我回答这个问题吗?在
{{cd2>你是第一个添加到你的new_zoo。在
zoo = ('python', 'elephant', 'penguin') new_zoo = ('monkey', 'camel', *zoo) # ('monkey', 'camel', 'python', 'elephant', 'penguin')
然后对于打印,一种干净的方法是在print中展开元组并提供分隔符。在
print
如果要存储打印的字符串,可以在那里使用str.join。在
str.join
new_zoo_string = ', '.join(new_zoo) # 'monkey, camel, python, elephant, penguin'
您还必须加入zoo的内容:
zoo
zoo=('python','elephant','penguin') new_zoo=('monkey','camel',','.join(zoo)) final_zoo = ','.join(new_zoo)
输出:
但是,您也可以迭代new_zoo的内容并应用str.join:
zoo=('python','elephant','penguin') new_zoo=('monkey','camel',zoo) final_zoo = ','.join([i if not isinstance(i, tuple) else ','.join(i) for i in new_zoo])
最简单的方法是添加元组,而不是嵌套它们:
>>> new_zoo = ('monkey', 'camel') + zoo
另一种创建扁平元组的方法是使用星型解包(有时通俗地称为splat):
在这种情况下,您可以直接组装字符串:', '.join(new_zoo)。在
如果需要处理嵌套元组,最常用的方法是递归解决方案:
>>> new_zoo = ('monkey', 'camel', zoo) >>> def my_join(tpl): ... return ', '.join(x if isinstance(x, str) else my_join(x) for x in tpl) >>> my_join(new_zoo) monkey, camel, python, elephant, penguin
{{cd2>你是第一个添加到你的new_zoo。在
然后对于打印,一种干净的方法是在
^{pr2}$print
中展开元组并提供分隔符。在如果要存储打印的字符串,可以在那里使用
str.join
。在您还必须加入
zoo
的内容:输出:
^{pr2}$但是,您也可以迭代
new_zoo
的内容并应用str.join
:输出:
^{pr2}$最简单的方法是添加元组,而不是嵌套它们:
另一种创建扁平元组的方法是使用星型解包(有时通俗地称为splat):
^{pr2}$在这种情况下,您可以直接组装字符串:
', '.join(new_zoo)
。在如果需要处理嵌套元组,最常用的方法是递归解决方案:
相关问题 更多 >
编程相关推荐