Python提取任意长度整数的每位数字

问题描述:编写函数,给定一个任意长度整数,返回每位数字,例如给定1234则返回(1, 2, 3, 4)。问题本身并不复杂,主要演示Python运算符和内置函数的用法和技巧,感谢浙江永嘉教师发展中心应根球老师提供的思路和代码原始版本。

from timeit import Timer

from random import randint

def demo1(value):

result = []

#按从最低位(个位)到最高位的顺序获取每位数字

while value:

result.append(value % 10)

value = value // 10

#逆序,按正常的顺序返回

result.reverse()

return result

def demo2(value):

result = []

while value:

#divmod()是内置函数,返回整商和余数组成的元组

value, r = divmod(value, 10)

result.append(r)

result.reverse()

return result

def demo3(value):

#字符串是Python不可变序列的一种

return list(map(int, str(value)))

def main():

#随机生成一个数字

value = randint(1, 1000000000000000000000000000)

print(value)

#测试次数

times = 10000000

#分别测试3种方法的运行时间

print(Timer(repr(demo1(value)), 'from __main__ import demo3').timeit(times))

print(Timer(repr(demo2(value)), 'from __main__ import demo3').timeit(times))

print(Timer(repr(demo3(value)), 'from __main__ import demo3').timeit(times))

main()

原文发布于微信公众号 - Python小屋(Python_xiaowu)

原文发表时间:2016-08-02

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏编程

Python中的数字

写Python文件“使用说明”: Python的文件当然要以.py为结尾。 Linux上编写python文件要声明编译器位置: 首行:#!/usr/bin/py...

2308
来自专栏算法修养

pta 习题集 5-2 找出不是两个数组共有的元素 (5分)

给定两个整型数组,本题要求找出不是两者共有的元素。 输入格式: 输入分别在两行中给出两个整型数组,每行先给出正整数NN(≤20≤20),随后是NN个整数,...

51410
来自专栏机器学习从入门到成神

C/C++学习之路(二)

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/sinat_35512245/articl...

1012
来自专栏Java学习网

Java实现的手工做乘法方法,给出二个字符串数字,返回相乘结果

给定两个字符串数字,返回两数字相乘的结果字符串;如:String a="200",String b="10",要求返回"2000"。 问题分析: 解决这个问题的...

5819
来自专栏阿凯的Excel

Python读书笔记18(初识自定义函数)

在分享自定义函数之前,我们要弄明白什么是函数、方法。之前的教程我有刻意用方法和函数两种方式来称呼具体的内容。例如删除列表的某个元素! ? 方法是函数的一种,类中...

3699
来自专栏Vamei实验室

Python深入01 特殊方法与多范式

Python一切皆对象,但同时,Python还是一个多范式语言(multi-paradigm),你不仅可以使用面向对象的方式来编写程序,还可以用面向过程的方式来...

2095
来自专栏技术墨客

JVM与字节码——2进制流字节码解析 原

本位将详细介绍字节码的2进制结构和JVM解析2进制流的规范。规范对字节码有非常严格的结构要求,其结构可以用一个JSON来描述:

922
来自专栏性能与架构

mysql char与varchar类型的区别

image.png 基本区别 char 是固定长度的,varchar 是可变长度的 char 如果某个长度小于M,MySQL就会在它的右边用空格补足,使长度达到...

3355
来自专栏伦少的博客

scala 两个map合并,key相同时value相加

转载请务必注明原创地址为:http://dongkelun.com/2018/04/01/scalaMapAdd/

66712
来自专栏编程坑太多

python中yield\\send好处

1133

扫码关注云+社区

领取腾讯云代金券