gpt4 book ai didi

python:将标量视为单元素列表

转载 作者:行者123 更新时间:2023-12-02 04:23:35 24 4
gpt4 key购买 nike

我正在编写一个 python 脚本来处理从文件读取的列表:

l = readListFromFile( myFile )
for i in l :
# do something to each element

l 具有多个元素时,一切正常。
但是,当列表中只有一个元素时,readFromFile 会将 l 作为标量而不是列表返回。因此 for i in l 失败并出现错误

object is not iterable

我无法控制 readFromFile,我的问题是如何让 python 将 l 视为 alist,即使在以下情况下l 只有一个元素?

最佳答案

一个简单的解决方案是

l = readListFromFile(myFile)
try:
i = iter(l)
if isinstance(l, str):
i = l
except TypeError:
i = [l]
for .... in i

即使您更改了 readListFromFile 以返回另一个可迭代对象,这也将起作用。

如果保证是一个 str 或一个列表(或其他可迭代对象),那么单行解决方案就是

l = readListFromFile(myFile)
for e in [l] if isinstance(l, str) else l:

仅使用三元运算符。

另一方面,有一个名为 readList 的方法...并不总是返回列表是邪恶的。

关于python:将标量视为单元素列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18814360/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com