Python 数字转化成列表详情

作者:Felix 时间:2023-09-24 06:53:25 

Python 数字转化成列表详情

本篇阅读的代码实现了将输入的数字转化成一个列表,输入数字中的每一位按照从左到右的顺序成为列表中的一项。

本篇阅读的代码片段来自于30-seconds-of-python。

1. digitize


def digitize(n):
 return list(map(int, str(n)))

# EXAMPLES
digitize(123) # [1, 2, 3]

该函数的主体逻辑是先将输入的数字转化成字符串,再使用map函数将字符串按次序转花成int类型,最后转化成list

为什么输入的数字经过这种转化就可以得到一个列表呢?这是因为Pythonstr是一个可迭代类型。所以str可以使用map函数,同时map返回的是一个迭代器,也是一个可迭代类型。最后再使用这个迭代器构建一个列表。

2. Python判断对象是否可迭代

目前网络上的常见的判断方法是使用使用collections.abc(该模块在3.3以前是collections的组成部分)模块的Iterable类型来判断。


from collections.abc import Iterable
isinstance('abc', Iterable) # True
isinstance(map(int,a), Iterable) # True

虽然在当前场景中这么使用没有问题,但是根据官方文档的描述,检测一个对象是否是iterable的唯一可信赖的方法是调用iter(obj)

class collections.abc.Iterable
ABC for classes that provide the __iter__() method.

Checking isinstance(obj, Iterable) detects classes that are registered as Iterable or that have an __iter__() method, but it does not detect classes that iterate with the __getitem__() method. The only reliable way to determine whether an object is iterable is to call iter(obj).


>>> iter('abc')
<str_iterator object at 0x10c6efb10>

来源:https://segmentfault.com/a/1190000040590514

标签:Python,数字,列表
0
投稿

猜你喜欢

  • Python+Turtle动态绘制一棵树实例分享

    2021-10-03 00:33:20
  • javascript 函数式编程

    2024-04-19 10:29:38
  • sql server中错误日志errorlog的深入讲解

    2024-01-23 11:57:58
  • 二维码的生成细节和原理

    2023-02-28 16:36:01
  • mysql跨数据库复制表(在同一IP地址中)示例

    2024-01-20 00:51:11
  • python SMTP实现发送带附件电子邮件

    2023-09-29 11:31:54
  • sql数据库批量处理脚本

    2011-11-03 17:23:19
  • python批量导入数据进Elasticsearch的实例

    2022-06-29 16:08:02
  • Linux下编译安装Mysql 5.5的简单步骤

    2024-01-27 13:33:03
  • python学习之新式类和旧式类讲解

    2021-02-27 11:10:38
  • python 命名规范知识点汇总

    2023-04-23 16:03:38
  • js实现动态增加文件域表单功能

    2024-04-19 09:50:33
  • 生成静态页面的php函数,php爱好者站推荐

    2024-05-03 15:50:09
  • Python用户自定义异常的实现

    2023-06-10 10:06:40
  • 由 IE8 User-Agent 更新想到的

    2009-01-12 18:33:00
  • Python 实现opencv所使用的图片格式与 base64 转换

    2021-02-28 11:59:09
  • TFRecord文件查看包含的所有Features代码

    2023-07-26 15:45:08
  • django实现更改数据库某个字段以及字段段内数据

    2024-01-26 14:52:09
  • Python基于numpy灵活定义神经网络结构的方法

    2023-09-30 15:03:52
  • ASP中ServerVariables集合用法详解

    2007-09-14 10:26:00
  • asp之家 网络编程 m.aspxhome.com