我需要帮助将txt文件中的值添加到一组元组

我得到了这样的txt文件:

1.0 5.0
2.0 8.0
3.5 12.5

我需要获取这些值并将它们设为一组 我的输出应该是:

[(1.0,5.0),(2.0,8.0),(3.5,12.5)]

坚持这样做,仅在可能的情况下使用简单的python。

到目前为止,这是我的代码:

import sys
def read_points(filename: str) -> Set[Tuple[float,float]]:

    file = open(filename)
    lines = file.readlines()
    lines = [item.strip("\n") for item in lines]
    newList = set()
    for item in lines:
            item = item.split(" ")
            item = tuple(float(items) for items in item)
            newList.update(item)                
    file.close()
    print (newList) 

我一直在获取'NoneType'对象,这是不可迭代的,而且我不知道为什么任何帮助将不胜感激。

cugdonjuan 回答:我需要帮助将txt文件中的值添加到一组元组

您的代码不会为我引发异常,但不会按您期望的方式工作。当您调用newList.update(item)方法时,实际上是在该元组中添加要设置的每个元素,而不是添加整个元组。正确的代码应该是

newList.add(item)
,

错误的堆栈跟踪总是表明发生错误的那一行,但是通过您的消息,此信息是更好地理解问题所必需的,但是根据您提供的信息,我可以知道问题已发生当某人试图通过None进行迭代时,在这种情况下,此操作无效,因为NoneType是不可迭代的。

这种情况可能在代码的以下位置发生:

lines = [item.strip("\n") for item in lines]

如果行为无

for item in lines:

如果行为无

item = tuple(float(items) for items in item)

如果项目为“无”。

需要确保文件名指向存在的文件的前两个,否则readlines()不会读取任何内容

现在,对于您要实现的目标,您正在朝着正确的方向前进。我有一些自己的问题。为什么要设置newList?为了简单起见,我将完全使用列表。我假设您将从现在开始使用列表,解决方案的其余部分可能看起来像这样:

>>> newList = [1.0,5.0,2.0,8.0,3.5,12.5]
>>> it = iter(newList)
>>> solution = {(x,y) for x,y in zip(it,it)}
>>> solution
set([(1.0,5.0),(3.5,12.5),(2.0,8.0)])

希望对您有所帮助。

,

原因是您使用了update方法而不是add。
来自python docs

  

s.update(t)-返回集合s,其中包含从t
添加的元素   s.add(x)-将元素x添加到设置s

您可以轻松地修复代码,如下所示:

document.querySelectorAll('.inside-box').forEach(insideBox => {
  insideBox.addEventListener('mouseenter',() =>  insideBox.querySelector('.dropdown-content').style.display = 'block');
  insideBox.addEventListener('mouseleave',() =>  insideBox.querySelector('.dropdown-content').style.display = 'none');
})
本文链接:https://www.f2er.com/3170000.html

大家都在问