Python 我收到一个类型错误,说我传递了一个字符串,但我的列表是一个int
我需要在排序部分的帮助。我可以理解为什么它在切片后没有得到排序,并且在映射列表到int之后,给出了相同的错误。请帮助我Python 我收到一个类型错误,说我传递了一个字符串,但我的列表是一个int,python,sorting,typeerror,Python,Sorting,Typeerror,我需要在排序部分的帮助。我可以理解为什么它在切片后没有得到排序,并且在映射列表到int之后,给出了相同的错误。请帮助我 def ele(arr): for i in range(1,len(arr)-1): k=i-1 l=i+1 m=0 a=[]*0 b=[]*0 print(*arr) if(k!=0): a=arr[-1:k]
def ele(arr):
for i in range(1,len(arr)-1):
k=i-1
l=i+1
m=0
a=[]*0
b=[]*0
print(*arr)
if(k!=0):
a=arr[-1:k]
a=list(map(int,a))
a.sort(reverse="True")
print(*a)
else:
a.append(arr[k])
#print(*a)
if(l!=len(arr)-1):
b=arr[l:]
b=list(map(int,b))
b.sort(reverse="True")
print(*b)
else:
b.append(arr[l])
if(b[0]<arr[i] and arr[i]>a[0]):
m=1
print(arr[i])
break
if(m==0):
print(-1)
t=int(input())
for i in range(0,t):
n=int(input())
arr=list(map(int,input().split()))
ele(arr)
```
File "main.py", line 28, in ele
b.sort(reverse="True")
TypeError: an integer is required (got type str)
def ele(arr):
对于范围(1,len(arr)-1)内的i:
k=i-1
l=i+1
m=0
a=[]*0
b=[]*0
打印(*arr)
如果(k!=0):
a=arr[-1:k]
a=列表(映射(int,a))
a、 排序(reverse=“True”)
打印(*a)
其他:
a、 追加(arr[k])
#打印(*a)
如果(l!=len(arr)-1:
b=arr[l:]
b=列表(映射(int,b))
b、 排序(reverse=“True”)
打印(*b)
其他:
b、 追加(arr[l])
如果(b[0]a[0]):
m=1
打印(arr[i])
打破
如果(m==0):
打印(-1)
t=int(输入())
对于范围(0,t)内的i:
n=int(输入())
arr=list(映射(int,input().split())
ele(arr)
```
文件“main.py”,第28行,在ele中
b、 排序(reverse=“True”)
TypeError:需要一个整数(获取类型str)
反向参数是一个布尔参数,您应该使用True
而不是“True”
def ele(arr):
对于范围(1,len(arr)-1)内的i:
k=i-1
l=i+1
m=0
a=[]*0
b=[]*0
打印(*arr)
如果(k!=0):
a=arr[-1:k]
a=列表(映射(int,a))
a、 排序(反向=真)
打印(*a)
其他:
a、 追加(arr[k])
#打印(*a)
如果(l!=len(arr)-1:
b=arr[l:]
b=列表(映射(int,b))
b、 排序(反向=真)
打印(*b)
其他:
b、 追加(arr[l])
如果(b[0]a[0]):
m=1
打印(arr[i])
打破
如果(m==0):#b.sort(reverse=True)
如果它说TypeError:boolean是必需的(got-type str)
但是bools无论如何都是int奇怪的是,reverse实际上接受任何看起来的整数,例如lst.sort(reverse=3)
——我很惊讶的是它不只接受bools?还有,为了说明明显的情况(如果@Chris_Rands或OP遗漏了它),a.sort(reverse=“True”)
也需要更改为a.sort(reverse=True)
def ele(arr):
for i in range(1,len(arr)-1):
k=i-1
l=i+1
m=0
a=[]*0
b=[]*0
print(*arr)
if(k!=0):
a=arr[-1:k]
a=list(map(int,a))
a.sort(reverse=True)
print(*a)
else:
a.append(arr[k])
#print(*a)
if(l!=len(arr)-1):
b=arr[l:]
b=list(map(int,b))
b.sort(reverse=True)
print(*b)
else:
b.append(arr[l])
if(b[0]<arr[i] and arr[i]>a[0]):
m=1
print(arr[i])
break
if(m==0): # <-- this should be indented too
print(-1)
t=int(input())
for i in range(0,t):
n=int(input())
arr=list(map(int,input().split()))
ele(arr)