代码之家  ›  专栏  ›  技术社区  ›  Tikhon

使用多个变量在字典中动态创建名称

  •  0
  • Tikhon  · 技术社区  · 3 年前

    也有类似的问题,但我还没有完全得到它的权利-为重复道歉。我想做的是在迭代时基于变量在字典中创建数据帧名称。

    d = {}
    market = 'SPX'
    datatype = 'prices'
    
    for j in range(10):
        year = 2010+j
        start = str(year) + '-01-01'
        end = str(year+2) + '-01-01'
            
        d['{market}_{datatype}_from_{start}_to{end}'] = 'foo'
    

    我想把这本词典的内容称为

    spx_prices_from_2010-01-01_to_2012-01-01
    spx_prices_from_2011-01-01_to_2013-01-01
    ...
    

    事先非常感谢

    1 回复  |  直到 3 年前
        1
  •  2
  •   crcvd    3 年前

    如果您使用的是python3,那么 f-strings :

    d = {}
    market = 'SPX'
    datatype = 'prices'
    
    for j in range(10):
        year = 2010+j
        start = str(year) + '-01-01'
        end = str(year+2) + '-01-01'
            
        d[f"{market}_{datatype}_from_{start}_to_{end}"] = 'foo'
    

    或者,您可以使用 str format