您当前的位置:首页 > IT编程 > python
| C语言 | Java | VB | VC | python | Android | TensorFlow | C++ | oracle | 学术与代码 | cnn卷积神经网络 | gnn | 图像修复 | Keras | 数据集 | Neo4j | 自然语言处理 | 深度学习 | 医学CAD | 医学影像 | 超参数 | pointnet | pytorch | 异常检测 | Transformers | 情感分类 | 知识图谱 |

自学教程:Python 数字转化成列表详情

51自学网 2022-02-21 10:48:53
  python
这篇教程Python 数字转化成列表详情写得很实用,希望能帮到您。

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

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

1. digitize

def digitize(n):  return list(map(int, str(n)))# EXAMPLESdigitize(123) # [1, 2, 3]

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

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

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

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

from collections.abc import Iterableisinstance('abc', Iterable) # Trueisinstance(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>

到此这篇关于Python 数字转化成列表详情的文章就介绍到这了,更多相关Python 数字转化成列表内容请搜索51zixue.net以前的文章或继续浏览下面的相关文章希望大家以后多多支持51zixue.net!


Python 列表映射后的平均值
TensorFlow人工智能学习数据类型信息及转换
万事OK自学网:51自学网_软件自学网_CAD自学网自学excel、自学PS、自学CAD、自学C语言、自学css3实例,是一个通过网络自主学习工作技能的自学平台,网友喜欢的软件自学网站。