当我尝试访问由stringToList函数生成的列表时,它总是显示TypeError:'NoneType'对象不可下标。
class MyApp(Tk):
def __init__(self):
super().__init__()
# Many widgets defined and placed here
def my_fx(self):
def stringToList(input_str):
number_list = []
full_list = []
if list(input_str)[-1].isnumeric:
input_str += ","
for item in list(input_str):
if item.isnumeric():
number_list.append(item)
if not item.isnumeric():
num_str = ""
for item in number_list:
num_str += item
if int(num_str) not in full_list:
try:
full_list.append(int(num_str))
except ValueError:
pass
number_list = []
sorted_list = sorted(full_list).append(some_string)
return sorted_list
if True:
sorted_list = stringToList(some_entry_widget.get())
def do_stuff():
from my_other_file import my_other_fx
this_and_that = my_other_fx(sorted_list)
# More functions defined here
if __name__ == '__main__':
app = IntegratorApp()
app.mainloop()
my_other_fx中的这一行(在我的原始代码中正确命名)是我得到NoneType不可下标错误的地方:
if sorted_list[-1] == some_value:
我已经尝试过重做stringToList,所以它使用IntVar和StringVar而不是常规的int和str,但这并没有改变任何东西。为什么是NoneType? 另外,如果有人有其他批评,那就太受欢迎了!我正在尝试学习!
编辑:当我尝试将字符串追加到列表时,似乎“不行”并变成NoneType。但是为什么?
答案 0 :(得分:0)
尝试一下:
full_list.append(some_string)
sorted_list = sorted(full_list)