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

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了怎么使用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’。

参考技术A 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写?

本回答被提问者采纳
参考技术B 用列表推导式就行
list1 = ['a','b','c','d']
new_list = ['!'+x for x in list1]
print(new_list)追问

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

参考技术C 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)

参考技术D def make_great(magicians):
    i = 0
    while i < len(magicians):
        magicians[i] = "the Great " + magicians[i]
        i += 1

Python面试必考重点之列表,元组和字典第四关——编写一个函数(不要使用python模块的函数),打乱列表元素的顺序/如何对列表元素进行随机排列

面试题第四关:

第一部分——考点:

  1. 手工打乱列表元素的顺序
    2. 随机排列API

第二部分——面试题:

1.面试题一:编写一个函数(不要使用python模块的函数),打乱列表元素的顺序

2.面试题二:如何对列表元素进行随机排列


第三部分——解析:

面试题一 之 编写一个函数(不要使用python模块的函数),打乱列表元素的顺序

第一种方法:

import random
a = [1,2,3,4,5,6,7,8,9,0]

def random_list(a):
	for i in range(0,100):
		index1 = random.randint(0,len(a) - 1)  #这个方法是闭区间,包含两头
		index2 = random.randint(0,len(a) - 1)
		a[index1],a[index2] = a[index2],a[index1]
b = random_list(a)
print(b)

第二种方法:

def random_list2(a):
	a_copy = a.copy()
	result = []
	count = len(a)
	for i in range(0,count):
		index = random.randint(0, len(a_copy) - 1)
		result.append(a_copy[index])
		del a_copy[index]
	return result
a = [1,2,3,4,5,6,7,8,9,0]
b = random_list2(a)
print(b)

面试题二 之 如何对列表元素进行随机排列

import random
a = [1,2,3,4,5,6,7,8,9,0]
random.shuffle(a)
print(a)

以上是关于怎么使用python编写一个能把列表内所有元素前面都加一个字符的函数的主要内容,如果未能解决你的问题,请参考以下文章

在 Python 中从列表前面删除一个元素是不是便宜?

Python。重复元素判定。编写一个函数,接受列表作为参数

我如何用 Ruby/Python 编写这个?或者,你能把我的 LINQ 翻译成 Ruby/Python 吗?

python 怎么将列表的值相加1?

python中列表增加元素的方法

python中numpy.ndarray怎么删除指定下标的元素