如何以更Pythonic的方式遍历列表元组并拼接字符串?
更Pythonic的实现方式
当然有更简洁的写法,直接嵌套使用两次join()方法就能搞定,完全不用手动循环判断索引:
example = [('tes1', 'test2'), ('test3', 'test4')] string = ', '.join(' '.join(t) for t in example) print(string)
代码说明:
- 内层的
' '.join(t):遍历列表里的每个元组,把元组内的元素用空格拼接成单个字符串,比如将('tes1', 'test2')转换为'tes1 test2' - 外层的
', '.join(...):把所有处理好的单个字符串用,连接起来,自动处理最后一个元素不需要追加逗号的问题,比原代码的手动判断逻辑简洁太多
另外这种写法性能也更优:Python中字符串是不可变对象,原代码循环累加字符串会反复创建新的字符串实例;而join()方法是一次性生成最终结果,避免了不必要的内存开销。
内容的提问来源于stack exchange,提问作者TheVorkMan
相关产品推荐
相关产品推荐

