所以我试图定义一个函数,以便列表的元素
元素 = ['H', 'N', 'C', 'O'] 等于另一个列表中相同位置的元素
摩尔质量 = [1.00794, 14.0067, 12.0107, 15.9994]
因此 H = 1.00794,N = 14.0067,等等。
编辑: 试图定义一个函数示例: 元素摩尔质量(elementSymbol) 使用时会像这样 元素摩尔质量('H') 它返回第一个列表中的相应元素,并与另一个列表中位于相同位置的元素匹配 1.00794。 甚至不知道如何开始。
请您参考如下方法:
你可以用字典理解来绑定(bind)它们
elements = ['H', 'N', 'C', 'O']
molarMass = [1.00794, 14.0067, 12.0107, 15.9994]
ElementToMolar = {elements[x]:molarMass[x] for x in range(len(elements))}
for x in ElementToMolar:
print (x, ElementToMolar[x])
Which outputs:
O 15.9994
H 1.00794
N 14.0067
C 12.0107
或者,如果您想通过操作对其进行抽象并进一步使用/与数据交互,可能应该使用一个类?
elements = ['H', 'N', 'C', 'O']
molarMass = [1.00794, 14.0067, 12.0107, 15.9994]
class Element(object):
def __init__(self, Name, Mass):
self.Name = Name
self.Mass = Mass
def __str__(self):
return "{0.Name} = {0.Mass}".format(self)
def CreateElementsFromLists(elementList, molarMassList):
if (len(elementList) == len(molarMassList)):
return [Element(elementList[x], molarMassList[x]) for x in range(len(elementList))]
else:
print ("Lists should have equal length")
elements = CreateElementsFromLists(elements, molarMass)
for element in elements:
print (element)
这将生成您可以使用的新元素列表。并输出:
H = 1.00794 N = 14.0067 C = 12.0107 O = 15.9994
