我对python很陌生,并且有一个关于将数字列表转换为带单位列表的问题。
例如,我可以有一个浓度为C = [1、2、3、4]的数组,但是我该怎么做才能创建一个新列表,以便每个值后面都有一个单位(例如C_list = [1M, 2M,3M,4M])
我尝试制作以下代码,但返回相同的数字 (例如,C_list是[2M,2M,2M,2M],而不是[1M,2M,3M,4M]):
S0 = [0.3, 0.7, 1.0, 1.4, 1.8]#initial substrate concentration
S0_Legend = np.empty(len(S0),dtype='S10')
for i in S0:
a=str(i)+'M'
for x in range(len(S0)):
S0_Legend[x] = a
print(S0_Legend)
任何帮助都会中断,敬请谅解!
答案 0 :(得分:2)
使用list-comprehension
:
S0 = [0.3, 0.7, 1.0, 1.4, 1.8]
print([str(x) + 'M' for x in S0])
输出:
['0.3M', '0.7M', '1.0M', '1.4M', '1.8M']
答案 1 :(得分:1)
最好保持简单,只需像在代码str(i)+'M'
中那样添加单元,然后将每个元素附加到新列表中即可:
S0 = [0.3, 0.7, 1.0, 1.4, 1.8]
S0_Legend = []
for i in S0:
S0_Legend.append(str(i)+'M')
print(S0_Legend)