首页 > 解决方案 > 避免for循环并在新行中打印列表中的元素

问题描述

我尽量避免for loop打印列表项时。

很少尝试这样做,但总是错误的。例子:

print('\n*'.join(i) for i in li)
<generator object <genexpr> at 0x7ff0c0e8b900>

我想要相当于:

    li = ['apple', 'beetroot', 'cabbage']
    
    for e in li:
        print(f'*{e}')
*apple
*beetroot
*cabbage

标签: python-3.x

解决方案


如果你愿意,你可以通过数组解包和列表推导来做到这一点。虽然我个人会坚持使用 for 循环以提高可读性。

 print(*[f'*{e}' for e in li], sep='\n')

推荐阅读