题目: Convert number to reversed array of digits
等级: 8 【最低一级】
介绍: You have to return the digits of this number within an array in reverse order.
Example:
348597 => [7,9,5,8,4,3]
翻译: 将数字转换为反向数组
博主的代码:
def digitize(n):
return list(map(int,list(str(n))[::-1]))
#a = str(n)
#L = list(a)
#L.reverse()
#return list(map(int,L))
其他最佳:
def digitize(n):
return map(int,list(str(n))[::-1]) # 这里不用list都可以,因为字符串同样是可迭代对象
def digitize(n):
L = (int(x) for x in str(n)[::-1]) # 这是一个生成器
print L.next()
return [int(x) for x in str(n)[::-1]] # 使用中括号可将生成器转换为列表
def digitize(n):
#return map(int,str(n)[::-1])
return map(int, reversed(str(n)))
总结:
1、列表反向可以使用切片[::-1]的办法,也可以使用reverse()或者reversed()的办法。
2、使用map(int, str(n)) 的办法将列表中的字符串变为数字,如:[‘1’, ‘2’, ‘3’] ==>[1, 2, 3]
3、map返回的是数组?不是迭代器?