2015-09-30 84 views
-3

我試圖在變量「words」中打印列表並打印每個單詞的長度。 我知道如何在不使用def函數時打印,但不知道如何使用下面的方法打印。Python打印數組列表和使用definine函數的長度

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 

感謝

回答

0

,你需要讓你的心你的函數是否應該打印的東西,或者返回一個字符串,那麼您需要打印。這裏是後者的一個例子:

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)) 
+0

這將是傳統的建行再'回報'的列表:

words = ["good", "Joy", "computer"] def list1(words): return "\n".join((x, len(x)) for x in words) print list1(words) 
  • 只在函數內部打印\ n'.join(線)'。 – jonrsharpe

  • +0

    同意並更新。 –

    0

    和印刷的無返回值的例子

    words = ["good", "Joy", "computer"] 
    
    def list1(words): 
        for x in words: 
         print ("%s %u"%(x, len(x))) 
    
    list1(words) 
    
    0

    您必須讓該函數以字符串形式返回所有輸出,或者在函數內部打印所有輸出並不返回任何內容。

    1. 打印函數的返回值:

      words = ["good", "Joy", "computer"] 
      
      def list1(words): 
          print x, len(x) for x in words 
      
      list1(words)