Python中如何为列表内的每个元素添加指定数值
解决列表元素批量加1的类型错误问题
你直接用my_list + 1报错是因为Python里列表的+运算符只能用来拼接另一个列表,不能直接和整数做运算。要给列表里每个元素都加1,有几种简单的实现方式:
方法1:列表推导式(最常用)
一行代码生成新列表,清晰直观:
my_list = [2, 3] my_list1 = [num + 1 for num in my_list] print(my_list1) # 输出 [3, 4]
方法2:使用map函数
用map把加法逻辑应用到每个元素,最后转成列表:
my_list = [2, 3] my_list1 = list(map(lambda x: x + 1, my_list)) print(my_list1) # 输出 [3, 4]
方法3:直接修改原列表(无需保留原列表时用)
遍历索引直接修改原列表元素:
my_list = [2, 3] for i in range(len(my_list)): my_list[i] += 1 print(my_list) # 输出 [3, 4]
总结:列表的+是列表间的拼接操作,不是元素级运算。批量给元素加1用上面三种方法就行,列表推导式日常用得最多,可读性也最好。
内容的提问来源于stack exchange,提问作者BOB
相关产品推荐
相关产品推荐

