在Python中制作浓度列表时遇到问题

2024-06-14 08:20:40 发布

您现在位置:Python中文网/ 问答频道 /正文

我对python非常陌生,对于如何将数字列表转换为带有单位的列表,我有一个疑问

例如,我可以有一个浓度数组C=[1,2,3,4],但是我可以做些什么来创建一个新的列表,以便每个值后面都有一个单位(例如C_list=[1M,2M,3M,4M])

我试图生成以下代码,但它返回的是相同的数字 (例如,C_列表是[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)

任何和所有的帮助都将不胜感激


Tags: 代码in列表forlen单位数字数组
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']

最好保持简单,只需像在代码中一样添加单元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)

相关问题 更多 >