将元组附加到列表,分配索引

use*_*197 0 python tuples list append

我正在研究一个化学程序,它要求列出所有元素及其相应的原子质量单位,这些内容类似于:

Elements = [(H,1),(He,2)...(C,12)]
Run Code Online (Sandbox Code Playgroud)

所有元素及其AMU都从一个文件中读取,其中每一行都写成"C 12".我需要从文件中读取信息,将每一行附加到它自己的元组中,然后将元组附加到列表中.这是我尝试过的一些代码没有成功.

class chemistry:
    def readAMU():
        infil = open("AtomAMU.txt", "r")
        line = infil.readline()
        Atoms = list()
        Element = ()
        while line !="":
            line = line.rstrip("\n")
            parts = line.split(" ");
            element = parts[0]
            AMU = parts[1]
            element.append(Element)
            AMU.append(Element)
            Element.append(Atoms)
Run Code Online (Sandbox Code Playgroud)

我是在正确的轨道上吗?如果不是,我如何将两个值附加到元组中,分配每个值和索引然后将其附加到列表中?

Sve*_*ach 5

更简单的解决方案是使用for循环遍历文件:

elements = []
with open("AtomAMU.txt") as f:
    for line in f:
        name, mass = line.split()
        elements.append((name, int(mass)))
Run Code Online (Sandbox Code Playgroud)

  • @Will:这个人努力编写几乎可以工作的代码.我很乐意回答这些问题. (2认同)