如何在python中列表的每个元素中添加常量字符串?

Moh*_* ah 2 python pandas

我想在列表的每个元素中添加一个常量值作为前缀.我想做一些类似这篇文章的事情.但上面的答案正在使用for循环.我想在我的程序中使用for循环.

我的目标是我要创建它值应该是一个列表"unknown contact number 0", "unknown contact number 1","unknown contact number 2"..."unknown contact number n".这里unknown contact number是我的前缀.我想在我的列表中添加此元素.

到目前为止我试过这个,

x=pd.DataFrame(index=range(val))
print ('unknown contact number '+x.index.astype(str)).values.tolist()
Run Code Online (Sandbox Code Playgroud)

我的问题是我是否在代码中添加了更复杂的内容以避免循环?或任何其他更好的方法来解决这个问题?

提前致谢.

jez*_*ael 5

如果性能很重要可以使用f-strings,因为pandas中的文本函数很慢:

a = [f'unknown contact number {i}' for i in range(N)]
Run Code Online (Sandbox Code Playgroud)

时间:

N = 10000

In [31]: %timeit ('unknown contact number ' + pd.Series(np.arange(N)).astype(str)).tolist()
6.63 ms ± 708 µs per loop (mean ± std. dev. of 7 runs, 100 loops each)

In [32]: %timeit [f'unknown contact number {i}' for i in range(N)]
317 µs ± 3.61 µs per loop (mean ± std. dev. of 7 runs, 1000 loops each)
Run Code Online (Sandbox Code Playgroud)