Python循环遍历列表并创建动态变量
Python循环遍历列表并创建动态变量
我正在循环遍历长度和内容不同的列表元素。这是我使用的对象(keys
):
keys: key dims 1 ['site', 'channel', 'fiscal_week'] 2 ['site', 'dude', 'other', 'fiscal_week'] 3 ['site', 'eng', 'dude', 'something_else', 'fiscal_week']
我有一个for循环,其中我遍历keys['dims']
:
for key in keys['dims']: 获取所需输出(见下文)
我希望这个循环输出我可以用来识别pandas数据帧中的列的变量。例如,对于key = 1
,我希望在循环期间完成以下操作:
D1 = 'site' D2 = 'channel' D3 = 'fiscal_week'
当我到达key = 2
时,我需要覆盖这些变量,得到:
D1 = 'site' D2 = 'dude' D3 = 'other' D4 = 'fiscal_week'
然后,我的最终目标是像这样使用这些变量:
df[D1]+df[D2]...
这是我的失败尝试:
for key in keys['dims']: print key d = {} i = 1 for dim in key: d['D{0}'.format(i)]=dim print d i +=1
这没有起作用,因为它最终产生了这样的输出:
['site', 'channel', 'fiscal_week'] {'D1': 'site'} {'D2': 'channel', 'D1': 'site'} {'D2': 'channel', 'D3': 'fiscal_week', 'D1': 'site'} ['site', 'dude', 'other', 'fiscal_week'] ...等等。
非常感谢任何帮助。