如何对浮动列表进行排序

How can I sort the float list

我正在编写此代码来下载股票数据并查找给定时间跨度内价格的百分比变化。在完成所有计算、检索并将最终数据存储在列表中之后,我想对更改列表进行排序,但我无法做到。请帮助我!

from pandas_datareader import data
import matplotlib.pyplot as plt
import pandas as pd
from datetime import date
import numpy as np

change=[]
today = date.today()
tickers = ['^GSPC', 'AAPL', 'MSFT', 'GOOG', 'MS', 'JPM']
for tick in tickers:
  start_date = '2012-01-01'
  end_date = today
  dataset = data.DataReader(tickers, 'yahoo', start_date, end_date)
  close=dataset['Close']
  close_new=close.shift(1)
  close2=close-close_new
  close3=close2.dropna()
  u=close.loc['2012-01-04',tick]
  v=close.loc['2020-06-22',tick]
  c=((v-u)/u)*100
  change.append(c)
print(change.sort())

sort() 函数没有 return 任何东西。因此,请将最后一行切换为以下两行:

change.sort()
print(change)

如果你想得到一个新的排序列表,你也可以使用sorted

print(sorted(change))

基本可以用sorted() 如果你只是想把它分类打印,你可以这样做

print(sorted(change)) # Or whatever your list name

或者,如果您想重用列表,您可以重新定义变量

change = sorted(change)

list.sort() method, modifies the list in-place (and returns None). Usually it’s less convenient than sorted() - but if you don’t need the original list, it’s slightly more efficient. Anyway, you can use sorted:

print(sorted(change))

numpy.sort:

print(np.sort(change))