如何在列表中所有项目的开头插入一个字符串?

Posted

技术标签:

【中文标题】如何在列表中所有项目的开头插入一个字符串?【英文标题】:How to insert a string at the beginning of all items in a list? 【发布时间】:2022-01-15 09:55:12 【问题描述】:

我正在尝试将字符串列表插入到数字列表中。所以我有一个如图所示的字符串列表,我只想将字符串列表的第一个索引附加到第一个列表中所有项目的第一个索引。

输入:['Box_1', 'Box_2, 'Box_3', etc] 输入2:[[0, 1, 1, 2], [2, 5, 7, 8], [4, 6, 6, 7]]

所需输出:[['Box_1_0', 'Box_1_1', Box_1_1', 'Box_1_2'], ['Box_2_2', 'Box_2_5', 'Box_2_7', 'Box_2_8'], etc]

这是我目前所拥有的,但它不起作用

for box_list in time_list:
    l = []
    n = 0
    for batch_num in new_list_files[n]:
        n +=1
        for i in batch_list:
            i = batch_num + str(i)
            l.append(l)
    list_final.append(l)

【问题讨论】:

time_list 是数字列表,new_list_files 是字符串列表 “不工作”到底是什么意思? list_final = [[f"box_i" for i in time] for time, box in zip(time_list, new_list_files)] 感谢约翰尼的工作 【参考方案1】:

你去,还要确保你的盒子列表有正确的语法:

box_list = ['Box_1', 'Box_2', 'Box_3']
time_list = [[0, 1, 1, 2], [2, 5, 7, 8], [4, 6, 6, 7]]

new_list = []

for i in box_list:
    for time in time_list:
        new_list.append([f'i_x' for x in time])

print(new_list)

【讨论】:

【参考方案2】:

通过使用列表推导,你可以得到这样的东西:

box_list = ['Box_1', 'Box_2', 'Box_3']
time_list = [[0, 1, 1, 2], [2, 5, 7, 8], [4, 6, 6, 7]]
new_list = [ f"val_x" for idx, val in enumerate(box_list) for x in time_list[idx]]
print(new_list)

【讨论】:

以上是关于如何在列表中所有项目的开头插入一个字符串?的主要内容,如果未能解决你的问题,请参考以下文章

如何检查单词是不是以给定字符开头?

我已经从一个字符串创建了所有子字符串,现在我想将所有以'aeiou' 开头的子字符串存储到一个空列表中。你能检查错误吗?

Redis列表list字符类型详解 #yyds干货盘点#

如何获取包含多选列表中所有选定项目的字符串?

如何将选中的项目从checkedlistbox 插入SQL 数据库?

Laravel Eloquent:提取所有以提供的字符串列表开头的条目