Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/sharepoint/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在python中使用列表反转数字_Python_List_Reversing - Fatal编程技术网

在python中使用列表反转数字

在python中使用列表反转数字,python,list,reversing,Python,List,Reversing,我想反转一个数字,但出现以下错误: “TypeError:'type'对象不可下标” 如果您能更正我的代码,我将不胜感激。这是我的代码: number=input("enter your number ") num=int(number) count=0 list1=[] while(num!=0): list1.append(num%10) num=num//10 count=count+1 print(list1[::-1]) k=len(list1) after=0

我想反转一个数字,但出现以下错误:

“TypeError:'type'对象不可下标”

如果您能更正我的代码,我将不胜感激。这是我的代码:

number=input("enter your number ")
num=int(number)
count=0
list1=[]
while(num!=0):
    list1.append(num%10)
    num=num//10
    count=count+1
print(list1[::-1])
k=len(list1)
after=0
for h in range(k):
    after+=int(list[h])*(10**h)
    h=-1
print(after)

您必须将
int
转换为
str
,反转字符串并将其转换回

我会这样做:

number = input("enter your number ")
number = int(str(number)[::-1])

您必须使用第13行中的列表1

另外,我不确定您想做什么,您的算法似乎不正确,代码根本不是pythonic

了解地图功能。 如果您想使用列表执行此操作。 (不要使用典型的C++循环) 要将一个数字拆分为单个数字列表,请使用:

list1 = map(int,str(num)) 

您可以使用列表(创建、反转、连接)轻松完成此操作:

或者更简单:

int(str(num)[::-1])
我也能做到这一点

return eval(str(number)[::-1])

阅读有关扩展切片方法的更多信息,了解更多信息

'list'!='列表1'
在+=int(列表[h])*(10**h)之后,
需要在+=int(列表1[h])*(10**h)之后
您注意到它在抱怨哪一行了吗?谢谢您的帮助。我必须更加小心。“列表是一个python关键字”-严格来说,您可以对自己的对象使用
list
,尽管这是不鼓励的。OP的问题很简单,他们没有给它分配一个列表-如果他们使用了不同的名称,他们会有
名称错误
而不是
类型错误
。感谢您的帮助和指导。我阅读了关于map函数的内容,发现了基本的问题解决方法,而不是pythonical编码,花费了我很多时间,而且以这种方式编写代码根本没有效率。我刚刚开始编写python。我使用高级程序员指南是一个高效和消息灵通的方法。这是一个多么简单的方法!谢谢你的有用提示!谢谢你的有用提示!
return eval(str(number)[::-1])