Python 3.2 idle:如何在同一行显示两个不同的值?

时间:2011-03-22 21:09:49

标签: python python-3.x

team = ['sean', 'david', 'JK', 'KB', 'nina']

for i in team:
   print(i), print(len(i))

以上显示以下结果:

sean
4
david
5
JK
2
KB
2
nina
4

但我的说明书显示了这一点:

sean 4
david 5
JK 2
KB 2
nina 4

如何获得“xxx,y”格式?我做错了什么?

7 个答案:

答案 0 :(得分:8)

尝试

for i in team:
    print(i, len(i))

答案 1 :(得分:4)

你想:

team = ['sean', 'david', 'JK', 'KB', 'nina']
for i in team:
    print("%s, %d" % (i, len(i)))

顺便说一句,团队中没有i

答案 2 :(得分:3)

这样做......简单明了,不需要“字符串格式化”。

team = ['sean', 'david', 'JK', 'KB', 'nina']

for i in team:
   print(i, len(i))

如果你想要逗号,那么

team = ['sean', 'david', 'JK', 'KB', 'nina']

for i in team:
   print(i, len(i), sep=', ')

我知道这已经很晚了,但是对于其他人来说,通过谷歌搜索来看这一点很好......

答案 3 :(得分:0)

尝试

for i in team:
    print "%s %s" % (i, len(i))

或:

for i in team:
    print i + " " + str(len(i))

答案 4 :(得分:0)

另外我认为您的原始代码必须是:

for i in team:
   print(i); print(len(i))

而不是:

for i in team:
   print(i), print(len(i))

如果你想用你的代码做到这一点,试试这个:

for i in team:
   print(i,end=','); print(len(i))

答案 5 :(得分:0)

我相信你的说明书提到了类似的东西:

for i in team:
    print i, len(i)

在Python 2中给出了预期的输出,但在Python 3中不再有效。

Python 3中的'直接'替换是:

for i in team:
    print(i, len(i), sep=' ')

但您通常使用其他内容,例如上面提出的%s %d解决方案。

答案 6 :(得分:-2)

for i,j in zip(team,score):
    print i,j

输出:

0 sean
1 david
2 JK
3 KB
4 nina