python - 为什么这个 for 循环返回一个空列表?
问题描述
这是我目前拥有的:
messages = {
"Placeholder": 0,
"1": 48,
"2": 4,
"3": 31,
"4": 2
}
def pls():
messages_sorted = sorted(messages, key=messages.get, reverse=True)
for i in range(10):
output = []
try:
currp = str(messages_sorted[i])
if currp == "Placeholder":
print("PLACEHOLDER DETECTED")
return output
currpp = messages[currp]
output.append(f"{currp} has {currpp} and is Place {i+1}")
print(output)
except IndexError:
print("Index error")
except:
print("some other error")
return output
output = pls()
output = str(output)
output = output.replace("['", "")
output = output.replace("']", "")
print(output)
我已经使用这个问题的答案来制作不同的输出列表,但是当我运行它时,它返回一个空列表。当我删除以下部分时:
if currp == "Placeholder":
print("PLACEHOLDER DETECTED")
return output
我只是得到一堆索引错误。这
print(output)
在 for 循环中,我得到了我在控制台中需要的东西(作为不同的字符串),但是我不能将它作为 List 或变量返回。我怎样才能做到这一点?
解决方案
你output=[]
在你的 for 循环中。output=[]
所以在每次迭代时,它的值都会重新初始化,你应该在 for 循环之前再试一次
推荐阅读
- python - Telethon:使用机器人发送包含照片的消息
- parameters - 水晶报表参数中的某些值没有出现
- prolog - 相同结构的 WAM 寄存器分配
- python - Pandas 数据框中的二值化列
- python - TypeError:从字符串中删除最后 3 个字符时,'float' 对象不可下标
- r - R 新手,需要计算我运行 while 循环的时间
- c# - 重定向后单击链接时页面 URL 重复
- reactjs - 与使用可变数据结构相比,为什么插入不可变的 trie 只会慢一个常数时间?
- php - (php,laravel)如何通过foreach循环从分组数组中插入多张图片到数据库中
- mysql - 对于 MYSQL 5.7.31 - 应该为传输连接更改哪个超时变量:连接超时