簡體   English   中英

如何從python中的列表列表中提取某些值?

[英]How do I pull certain values from a list of lists in python?

def get_monthly_averages(original_list):

    #print(original_list)
    daily_averages_list = [ ]
    for i in range (0, len(original_list)):  
        month_list = i[0][0:7]
        volume_str = i[5]
        #print(volume_str)
        adj_close_str = i[6]
        #print(adj_close_str)
        daily_averages_tuple = (month_list,volume_str,adj_close_str)
        daily_averages_list.append(daily_averages_tuple.split(','))
    return daily_averages_list

我有一個類似的清單

[
 ['2004-08-30', '105.28', '105.49', '102.01', '102.01', '2601000', '102.01'], 
 ['2004-08-27', '108.10', '108.62', '105.69', '106.15', '3109000', '106.15'], 
 ['2004-08-26', '104.95', '107.95', '104.66', '107.91', '3551000', '107.91'], 
 ['2004-08-25', '104.96', '108.00', '103.88', '106.00', '4598900', '106.00'], 
 ['2004-08-24', '111.24', '111.60', '103.57', '104.87', '7631300', '104.87'], 
 ['2004-08-23', '110.75', '113.48', '109.05', '109.40', '9137200', '109.40'], 
 ['2004-08-20', '101.01', '109.08', '100.50', '108.31', '11428600', '108.31'], 
 ['2004-08-19', '100.00', '104.06', '95.96', '100.34', '22351900', '100.34']
]

我試圖從“長”列表中的每個列表中提取某些多個值。 我需要使用開始的python技術。 例如,到目前為止,我們還沒有在課堂上學習過lambda。 必須使用入門技巧。

截至目前,使用i[][]的行給我一個類型錯誤,表明“ int”不可下標。

您的變量i是一個整數。 您應該索引到original_list而不是i

我想你想

month_list = original_list[i][0][0:7]
volume_str = original_list[i][5]
#print(volume_str)
adj_close_str = original_list[i][6]

不要使用范圍來遍歷列表。 做這個:

for datestr, n1, n2, n3, someval, otherval in original_list:
    #do your stuff here

這將遍歷original_list每個列表,並將每個此類列表的6個元素分配給給定的變量。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM