java return none,返回列表结果为none
所以我正在開發一個小程序,通過GUI從給定文件中刪除重復項,以學習如何使用Python制作GUI .
我寫了一個方法應該采用 string ,將其轉換為 list ,從 list 刪除重復項,它實際上是這樣做的 . 當我想要 return 結果時會出現問題,因為如果我 print() 返回的值只會導致 None 被打印 . 但是,如果我想要在方法中使用 return ,它會打印出正確的列表 .
這個類看起來像這樣:
#Class that removes the duplicates
class list_cleaner():
def __init__(self):
self.result_list = []
def clean(self,input_string, seperator, target):
#takes a string and a seperator, and splits the string at the seperator.
working_list = self.make_list_from_string(input_string,seperator)
#identify duplicates, put them in the duplicate_list and remove them from working_list
duplicate_list = []
for entry in working_list:
instances = 0
for x in working_list:
if entry == x:
instances = instances + 1
if instances > 1:
#save the found duplicate
duplicate_list.append(entry)
#remove the duplicate from working list
working_list = list(filter((entry).__ne__, working_list))
self.result_list = working_list + duplicate_list
print(self.result_list) #Prints the result list
return self.result_list
main函數看起來如此(注意:duplicate_remover是list_cleaner的外觀):
if __name__ == "__main__":
remover = duplicate_remover()
x = remover.remove_duplicates("ABC,ABC,ABC,DBA;DBA;DBA,ahahahaha", ",")
print(x) #Prints none.
TL; DR:
我有一個方法 f 返回 list l 這是類 C 的屬性 .
如果我 print() l 作為 f 的一部分正在打印 l 的值 .
如果我返回 l 并將其存儲在 f 范圍之外的變量中,然后 print() 此變量將打印 None .
提前致謝!
編輯1:
請求 duplicate_remover 代碼 . 它看起來像這樣:
class duplicate_remover():
def remove_duplicates(self,input_string,seperator):
my_list_cleaner = list_cleaner()
my_list_cleaner.clean( input_string = input_string, seperator = seperator)
總結
以上是生活随笔為你收集整理的java return none,返回列表结果为none的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 在java中 接口修饰符,Java接口中
- 下一篇: matlab2012生成dll,64位w