Python 如何在一行代码中打印每个列表项?

Python 如何在一行代码中打印每个列表项?,python,Python,我想做一些类似的事情: print'--检查从{}到{}的连接。格式((在env.hosts中为h),(在dbHostList中为h)) 但是,这只会产生:——检查到的连接 我知道有一种方法可以做到这一点,我只是略过了一些小的东西。。但我不知道是什么。非常感谢您的帮助。不确定列表的格式,但您可以这样做 print ' -- Checking connectivity from {} to {}'.format(env.hosts, dbHostList) 这将创建一个类似 ' -- Che

我想做一些类似的事情:

print'--检查从{}到{}的连接。格式((在env.hosts中为h),(在dbHostList中为h))

但是,这只会产生:
——检查到的连接


我知道有一种方法可以做到这一点,我只是略过了一些小的东西。。但我不知道是什么。非常感谢您的帮助。

不确定列表的格式,但您可以这样做

print '  -- Checking connectivity from {} to {}'.format(env.hosts, dbHostList)
这将创建一个类似

'  -- Checking connectivity from [1, 2, 3] to [4, 5, 6]'
否则,如果您需要某种特定的格式/分隔符,您可以使用
join
,例如

print '  -- Checking connectivity from {} to {}'.format(':'.join(map(str, env.hosts)), ':'.join(map(str, dbHostList)))
哪个会打印

'  -- Checking connectivity from 1:2:3 to 4:5:6'

不确定列表的格式,但您可以这样做

print '  -- Checking connectivity from {} to {}'.format(env.hosts, dbHostList)
这将创建一个类似

'  -- Checking connectivity from [1, 2, 3] to [4, 5, 6]'
否则,如果您需要某种特定的格式/分隔符,您可以使用
join
,例如

print '  -- Checking connectivity from {} to {}'.format(':'.join(map(str, env.hosts)), ':'.join(map(str, dbHostList)))
哪个会打印

'  -- Checking connectivity from 1:2:3 to 4:5:6'
创建一个生成器。你想要这个:

[for object in sequence]
编辑:

或者这个:

print "Stuff stuff stuff {}".format(" ".join(list))
创建一个生成器。你想要这个:

[for object in sequence]
编辑:

或者这个:

print "Stuff stuff stuff {}".format(" ".join(list))

通常,如果列表项是字符串,则可以使用:

如果列表项不是字符串,则可以使用调用(假设您有一个可由str()转换的数据类型)的字符串:

print ' '.join([str(h) for h in env.hosts])

通常,如果列表项是字符串,则可以使用:

如果列表项不是字符串,则可以使用调用(假设您有一个可由str()转换的数据类型)的字符串:

print ' '.join([str(h) for h in env.hosts])

如果要为每一次检查指定一行,可以为每对主机添加换行符和格式化字符串。可以将这两个列表组合起来,以便成对地迭代:

print '\n'.join('  -- Checking connectivity from {host} to {db_host}'
                .format(host=host, db_host=db_host)
                for host, db_host in zip(env.hosts, dbHostList))

如果要为每一次检查指定一行,可以为每对主机添加换行符和格式化字符串。可以将这两个列表组合起来,以便成对地迭代:

print '\n'.join('  -- Checking connectivity from {host} to {db_host}'
                .format(host=host, db_host=db_host)
                for host, db_host in zip(env.hosts, dbHostList))

预期的输出是什么?展开@user5061的问题:您想要什么?您是否正在测试每个可能的连接并报告结果?你在测试某些对吗?还有什么?预期的输出是什么?来扩展@user5061的问题:您想要什么?您是否正在测试每个可能的连接并报告结果?你在测试某些对吗?还有别的吗?在env.hosts中理解h的列表将完全是浪费时间。它将创建一个列表,它是已经是list.True的
env.hosts
的精确副本。我以为他只是想要从()到[]的正确语法。不过,编辑会起作用。理解
[h for h in env.hosts]
的列表完全是浪费时间。它将创建一个列表,它是已经是list.True的
env.hosts
的精确副本。我以为他只是想要从()到[]的正确语法。不过,编辑可以工作。你不需要理解字符串,生成器就可以了。虽然生成器可以工作,但OP似乎想打印整个“东西”;因此,使用生成器什么也得不到。你不需要理解字符串,生成器就可以了。虽然生成器可以工作,但OP似乎想要打印整个“东西”;因此,使用生成器不会获得任何结果。