首頁>Club>
4
回覆列表
  • 1 # 歡樂乖

    考慮兩個列表。第二個列表中的元素是數字,需要將其視為第一個列表中元素的索引位置。對於這種情況,我們有以下python程式。

    有對映和getitem

    我們可以使用getitem魔術方法來訪問列表項。我們可以將其與map函式一起使用,以便我們從第一個列表中獲得結果,該結果將第二個列表中的元素作為其指標。

    示例listA = ["Mon", "Tue", "Wed", "Thu", "Fri"]

    listB = [0, 1,3]

    print("給定列表A:",listA)

    print("給定列表B:",listB)

    res=list(map(listA.__getitem__, listB))

    print("Result :",res)

    輸出結果

    執行上面的程式碼給我們以下結果-給定列表A: ["Mon", "Tue", "Wed", "Thu", "Fri"]

    給定列表B: [0, 1, 3]

    Result : ["Mon", "Tue", "Thu"]

    帶有itemgetter

    運算子模組提供了可用於此目的的itemgetter方法。在下面的程式中,我們將第二個列表擴充套件為索引,並應用itemgetter函式從列表中獲取相應的元素。

    示例from operator import itemgetter

    listA = ["Mon", "Tue", "Wed", "Thu", "Fri"]

    listB = [0, 1,3]

    print("給定列表A:",listA)

    print("給定列表B:",listB)

    res=list((itemgetter(*listB)(listA)))

    print("Result :",res)

    輸出結果

    執行上面的程式碼給我們以下結果-給定列表A: ["Mon", "Tue", "Wed", "Thu", "Fri"]

    給定列表B: [0, 1, 3]

    Result : ["Mon", "Tue", "Thu"]

    用numpy

    numpy庫可以透過僅建立一個將兩個列表作為輸入引數的陣列來實現此目的。結果再次轉換為列表。

    示例import numpy as np

    listA = ["Mon", "Tue", "Wed", "Thu", "Fri"]

    listB = [0, 1,3]

    print("給定列表A:",listA)

    print("給定列表B:",listB)

    res=list(np.array(listA)[listB])

    print("Result :",res)

    輸出結果

  • 中秋節和大豐收的關聯?
  • 中華雲母怎麼採挖?