我试图在变量"words"中打印列表并打印每个单词的长度。我知道当你不使用def function时如何打印,但不确定如何使用下面的方法打印。
words = ["good", "Joy", "computer"]
def list1(words):
for x in words:
print x
return x, len(x)
print list1(words)
这是给我的:
good
Joy
Computer
('Computer', 8)
我怎么做才能让它像这样打印出来呢?
good 4
joy 3
computer 8
谢谢
你需要决定你的函数是应该打印一些东西还是返回一个字符串,然后再打印。下面是后者的一个例子:
words = ["good", "Joy", "computer"]
def list1(words):
lines = ('{} {}'.format(x, len(x)) for x in words)
return 'n'.join(lines)
print(list1(words))
如果你喜欢一行字,你也可以这样做:
print('n'.join('{} {}'.format(x, len(x)) for x in words))
还有一个不返回值
的打印示例words = ["good", "Joy", "computer"]
def list1(words):
for x in words:
print ("%s %u"%(x, len(x)))
list1(words)
要么让函数以字符串形式返回所有输出,要么在函数内部打印所有输出而不返回任何内容。
-
打印函数的返回值:
words = ["good", "Joy", "computer"] def list1(words): return "n".join((x, len(x)) for x in words) print list1(words)
-
只在函数内部打印:
words = ["good", "Joy", "computer"] def list1(words): print x, len(x) for x in words list1(words)