Python中不使用for循环如何解包(unpack)列表并输出拼接元素?
问题原因
你写的unpack函数逻辑存在问题:return语句会直接终止函数运行,所以第一次循环拿到第一个元素hello就直接返回了,自然只会输出第一个值。
实现方案(无显式for循环)
有两种非常简洁的实现方式,都不需要手动写for循环:
- 方案1:使用字符串
join方法直接拼接
直接调用分隔符的join方法拼接列表所有元素即可:a = ['hello', 'there'] print(', '.join(a)) - 方案2:使用星号解包+print的sep参数
用*解包列表元素作为print的参数,指定分隔符为,:a = ['hello', 'there'] print(*a, sep=', ')
如果需要封装成你要求的unpack函数,可以这么写:
def unpack(table): return ', '.join(table) a = ['hello', 'there'] print(unpack(a))
以上所有代码运行后都会输出你期望的hello, there结果。
内容的提问来源于stack exchange,提问作者ShowcaserV4
相关产品推荐
相关产品推荐

