怎么使用python编写一个能把列表内所有元素前面都加一个字符的函数

如题所述

1、创建python文件,文件名为:testlistadd.py;

2、编写代码,在原有list的每个元素前面加上字符‘1’;

old_list = ['a','b','c','d']

new_list = ['1'+x for x in old_list]

print(new_list)

3、在窗口中右击,并选择‘在终端中运行Python文件’选项,执行python代码;

4、在‘终端’窗口中,查看执行结果,可以发现满足所需,即在所有元素前面都加了字符串‘1’。

温馨提示:答案为网友推荐,仅供参考
第1个回答  2016-08-20
l = ['abc','def','xyz']
map(lambda x: 'str_'+x, l);

追问

我希望使用def声明一个具有这种功能的函数,请问这个函数怎么写

追答

def list_add_str(l):
return map(lambda x: 'str_'+x, l)

print list_add_str(['abc','def','xyz'])

追问

不好意思,我才开始学,暂时理解不了您的写法,能不能用for或者while写?

本回答被提问者采纳
第2个回答  2016-08-20
用列表推导式就行
list1 = ['a','b','c','d']
new_list = ['!'+x for x in list1]
print(new_list)追问

这个方法不可行,数据量巨大,不希望生成新的列表,而是def一个函数直接修改原列表,请问怎么写

本回答被网友采纳
第3个回答  2018-04-29
def make_great(names):
    for i in range(len(names)):
        names[i]="the great" + names[i]
name_list=['a','b','c']
make_great(name_list)
print(name_list)

第4个回答  2018-02-08
def make_great(magicians):
    i = 0
    while i < len(magicians):
        magicians[i] = "the Great " + magicians[i]
        i += 1