検索

ホームページ  >  に質問  >  本文

python3.x - python二维数组

 texts = [[word for word in document.lower().split()] for document in documents]

我在网址我爱自然语言处理-如何计算两个文档的相似度(二)中看到下面一份代码。
对于>>> texts = [[word for word in document.lower().split()] for document in documents]的含义不是很理解。

>>>documents = ["Shipment of gold damaged in a fire",
... "Delivery of silver arrived in a silver truck",
... "Shipment of gold arrived in a truck"]
>>> texts = [[word for word in document.lower().split()] for document in documents]
>>> print texts
[['shipment', 'of', 'gold', 'damaged', 'in', 'a', 'fire'], ['delivery', 'of', 'silver', 'arrived', 'in', 'a', 'silver', 'truck'], ['shipment', 'of', 'gold', 'arrived', 'in', 'a', 'truck']]

对于一般的for var in list:这种形式,我是知道的。但是上面的那种二维数组,我就不是很理解为什么了。求助,帮忙分析一下

PHP中文网PHP中文网2862日前595

全員に返信(2)返信します

  • 巴扎黑

    巴扎黑2017-04-18 10:23:13

    この構文は「リスト内包表記」と呼ばれます
    まず https://docs.python.org/2/tut...
    ドキュメントの例を確認すると、何が起こっているのか理解できます。

    返事
    0
  • ringa_lee

    ringa_lee2017-04-18 10:23:13

    Pythonで2次元配列を作成する方法
    例えば3*3の配列を作成する
    方法1 直接定義する

    [py]行列 = [[0, 0, 0], [0, 0, 0], [0, 0, 0]][/py]

    方法 2 間接的な定義

    行列 = [[範囲(3)のiの0]範囲(3)のiの場合]

    これは単なるメソッドです。ファイル内の単語を大文字と小文字で処理し、分割します。

    返事
    0
  • キャンセル返事