python - list.remove(x) x 似乎在列表中但未找到
问题描述
所以在VSCode中,我收到了这个错误......
给定输入
2
21 22
我们有变量说
最佳选择 = '22'
一个:['21','22']
但是, a.remove(best_choice) 返回错误。我完全困惑......请帮忙。我在堆栈上检查了这个问题,发现在遍历列表时 remove() 不起作用,所以我将循环更改为 while(True)。但是,我仍然收到同样的错误。
这是代码:
import sys
def best_option(a):
iterator = 0
while(len(a)>1):
previous_best_digit = 0
current_best_digit = 0
best_short_option = []
return_list = []
for item in a:
if len(item)-1 < iterator:
char_previous = item[iterator-1:iterator]
dig_previous = ord(char_previous)
previous_best_digit = dig_previous
best_short_option = item
continue
char = item[iterator:iterator+1]
dig = ord(char)
if dig > current_best_digit:
current_best_digit = dig
return_list.clear()
return_list.append(item)
elif dig == current_best_digit:
return_list.append(item)
if (current_best_digit < previous_best_digit):
return_list.clear()
return_list.append(best_short_option)
a = return_list
iterator+=1
return a
def largest_number(a):
#write your code here
res = ""
while (True):
best_choice = best_option(a)
print(best_choice)
a.remove(best_choice)
res += best_choice
if (len(a)==1):
break
res.append(a)
print(res)
return res
if __name__ == '__main__':
input = sys.stdin.read()
data = input.split()
a = data[1:]
print(largest_number(a))
它的目的是从字符串列表中创建一个具有最大可能值的字符串。
解决方案
你best_choice
是['22']
,不是'22'
推荐阅读
- python - Chromedriver 在后台使用 Python Selenium 时停止运行
- typescript - VSCode 无法识别子目录中的类型
- java - 刷新 gradle 项目时出现此错误:原因:类型代码无效:B3
- java - 打印导致异常错误的特定字符
- r - 用分数序列填充缺失值
- jenkins - 创建一个支持 JDK12 的 ssh_jenkins_slave 镜像
- adonis.js - 在 PUT、POST、DELETE 操作中 Postman 中的 AdonisJS 错误代码“EBADCSRFTOKEN”
- javascript - 如何知道视频是否来自
- reactjs - 如何在 Typescript 的 React Modal 中添加带有样式组件的包装器?
- c++ - C++ 模板专业化 - 将其他整数类型委托给 uint64_t