python - 如何在每个列表元素的末尾添加后缀?

标签 python list

我有两个长度不等的列表。第一个列表包含纵向研究的变量名称,另一个包含这些变量的后缀。用户提供从中读取变量名称的 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 的一种方法:

['{}_{}'.format(a, b) for b in b_list for a in a_list]

演示:

>>> a_list = ['mood1', 'mood2', 'mood3', 'dep1', 'dep2', 'dep3']
>>> b_list = ['pre', '6month']
>>> result = ['{}_{}'.format(a, b) for b in b_list for a in a_list]
>>> result
['mood1_pre', 'mood2_pre', 'mood3_pre', 'dep1_pre', 'dep2_pre', 'dep3_pre', 'mood1_6month', 'mood2_6month', 'mood3_6month', 'dep1_6month', 'dep2_6month', 'dep3_6month']

关于python - 如何在每个列表元素的末尾添加后缀?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25555709/

相关文章:

python - 合并两个DataFrame而不丢失信息

python - 更改级别记录到 IPython/Jupyter notebook

python - 我有一长串需要排序的元组,例如。 [ ('12/2010' , 196.9876), ('12/2010' , 654.9876), ('11/2010' , 234.9876)…………]

python - 检查一个列表中有多少元素包含在第二个列表中,包括重复项

Python:读取带有负数的文件

Python:如何使用 folderId 将文件上传到 Google 云端硬盘中的特定文件夹

python uuid奇怪的错误

c# - 忽略其中一个字段的列表中不同项目的数量

WPF 数据网格选择问题

Python,如果包含匹配的元组,则删除整个列表