我有两个长度不等的列表。第一个列表包含纵向研究的变量名称,另一个列表包含这些变量的后缀。用户提供一个CSV,从中读取变量名,然后提示输入这些变量的(n)个迭代次数,以及n个后缀的名称
这里有一个假的例子来说明我的意思
迭代次数:2
后缀1:预
2:6个月
清单1:
['mood1', 'mood2', 'mood3', 'dep1', 'dep2', 'dep3']
清单2:
['pre', '6month']
所需的连接:
['mood1_pre', 'mood2_pre', 'mood3_pre', 'dep1_pre', 'dep2_pre', 'dep3_pre', 'mood1_6month', ..., 'dep3_6month']
我让程序完全工作,除了输出将串联列表的每个字母拆分为自己的元素,例如:
How many iterations of the variables do you need?: 3
Variable Suffix 1: pre
Variable Suffix 2: 6m
Variable Suffix 3: 12m
['B', 'o', 'b', '_', 'p', 'r', 'e', 'J', 'o', 'e', '_', 'p', 'r', 'e', 'J', 'i',
'm', '_', 'p', 'r', 'e', 'A', '_', 'p', 'r', 'e', 'B', '_', 'p', 'r', 'e', 'C',
'_', 'p', 'r', 'e', '1', '_', 'p', 'r', 'e', '2', '_', 'p', 'r', 'e', '3', '_',
'p', 'r', 'e', '1', '4', '_', 'p', 'r', 'e', 'B', 'o', 'b', '_', '6', 'm', 'J',
'o', 'e', '_', '6', 'm', 'J', 'i', 'm', '_', '6', 'm', 'A', '_', '6', 'm', 'B',
'_', '6', 'm', 'C', '_', '6', 'm', '1', '_', '6', 'm', '2', '_', '6', 'm', '3',
'_', '6', 'm', '1', '4', '_', '6', 'm', 'B', 'o', 'b', '_', '1', '2', 'm', 'J',
'o', 'e', '_', '1', '2', 'm', 'J', 'i', 'm', '_', '1', '2', 'm', 'A', '_', '1',
'2', 'm', 'B', '_', '1', '2', 'm', 'C', '_', '1', '2', 'm', '1', '_', '1', '2',
'm', '2', '_', '1', '2', 'm', '3', '_', '1', '2', 'm', '1', '4', '_', '1', '2',
'm']
我用这个来制作新的列表
newvarlist.extend((varlist[vars] + '_' + varsuffix[j]))
这里有一种使用list comprehension的方法:
演示:
如果您对最终列表的排序灵活:
这会产生
['mood1_pre', 'mood1_6month', ...]
而不是['mood1_pre', 'mood2_pre', ...]
相关问题 更多 >
编程相关推荐