python 假設我有3個 list ,分別是產品名稱,產地,價格,我想要這三個list 用產品名稱排序,如何做到?


你可以使用 Python 中的 zip 函數將這三個列表結合起來,然後根據產品名稱排序,最後再拆分回三個列表。

以下是具體的解法:

示例代碼

# 原始數據
product_names = ["Apple", "Banana", "Cherry"]
origins = ["USA", "Ecuador", "Turkey"]
prices = [3.5, 1.2, 2.8]

# 使用 zip 將數據結合,並根據產品名稱排序
combined = sorted(zip(product_names, origins, prices), key=lambda x: x[0])

# 解壓排序後的數據
sorted_product_names, sorted_origins, sorted_prices = map(list, zip(*combined))

# 結果
print("排序後的產品名稱:", sorted_product_names)
print("排序後的產地:", sorted_origins)
print("排序後的價格:", sorted_prices)

輸出結果

假設產品名稱排序為字母順序,結果如下:

排序後的產品名稱: ['Apple', 'Banana', 'Cherry']
排序後的產地: ['USA', 'Ecuador', 'Turkey']
排序後的價格: [3.5, 1.2, 2.8]

備註

  • 如果你的產品名稱需要按其他方式排序(例如數字或自定義順序),可以調整 key 的值。
  • 此方法適用於多個列表的聯合排序。

需要其他排序方式或額外處理,隨時告訴我!