鱼C论坛

 找回密码
 立即注册
查看: 10314|回复: 2

[已解决]append()不可以增加‘int’型?

[复制链接]
发表于 2017-9-5 22:13:48 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
1. 写一个函数get_digits(n),将参数n分解出每个位的数字并按顺序存放到列表中。举例:get_digits(12345) ==> [1, 2, 3, 4, 5]

函数代码如下:
def fun2(n):
        temp = str(n)
        length = len(str(n))
        list2 = []
        list1 = list(temp)
        for i in range(length):
                list2 = list.append(int(list1.pop()))
        print(list2)
------------------------------------
运行后,系统提示:
TypeError: descriptor 'append' requires a 'list' object but received a 'int'


哪位高手帮忙看看这个迭代的函数,怎么修改
最佳答案
2017-9-6 11:01:46
本帖最后由 醉酒青牛 于 2017-9-6 11:03 编辑

本题迷惑点在于倒数第二行list2 = list.append(int(list1.pop()))
append()函数是列表的内置函数,调用时必须是:列表名.append(值)。这里面你用的是list,它是列表的工厂函数,我们一般用它来将一个对象强制转换为列表,例如你程序第5行的list1 = list(temp),将字符串强制转换为了列表。
另外,pop()内置函数是默认取出列表最后一个元素,按照题意应该是每次取列表list1的第一个元素,因此需要设置为list1.pop(0)
所以,如果按照你的程序微改的话,可以将倒数第二行改为list2.append(int(list1.pop(0)))即可。
另附本人简化程序以供参考:
def fun2(n):
    temp = str(n)
    list1 = []
    for each in temp:
        list1.append(int(each))
    print(list1)
fun2(12345)
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2017-9-5 22:17:34 | 显示全部楼层
按照你的思路修改的。
def fun2(n):
        temp = str(n)
        length = len(str(n))
        list2 = []
        list1 = list(temp)
        for i in range(length):
                list2.append(int(list1.pop(0)))
        print(list2)
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 1 反对 0

使用道具 举报

发表于 2017-9-6 11:01:46 | 显示全部楼层    本楼为最佳答案   
本帖最后由 醉酒青牛 于 2017-9-6 11:03 编辑

本题迷惑点在于倒数第二行list2 = list.append(int(list1.pop()))
append()函数是列表的内置函数,调用时必须是:列表名.append(值)。这里面你用的是list,它是列表的工厂函数,我们一般用它来将一个对象强制转换为列表,例如你程序第5行的list1 = list(temp),将字符串强制转换为了列表。
另外,pop()内置函数是默认取出列表最后一个元素,按照题意应该是每次取列表list1的第一个元素,因此需要设置为list1.pop(0)
所以,如果按照你的程序微改的话,可以将倒数第二行改为list2.append(int(list1.pop(0)))即可。
另附本人简化程序以供参考:
def fun2(n):
    temp = str(n)
    list1 = []
    for each in temp:
        list1.append(int(each))
    print(list1)
fun2(12345)
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-12-22 15:52

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表