Python 数字转化成列表详情

目录
  • 1. digitize
  • 2. 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>

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

(0)

相关推荐

  • 如何理解python中数字列表

    数字列表和其他列表类似,但是有一些函数可以使数字列表的操作更高效.我们创建一个包含10个数字的列表,看看能做哪些工作吧. # Print out the first ten numbers. numbers = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10] for number in numbers: print(number) range() 函数 普通的列表创建方式创建10个数是可以的,但是如果想创建大量的数字,这种方法就不合适了.range() 函数就是帮助我们生成大量数

  • python实现将range()函数生成的数字存储在一个列表中

    说明 同学的代码中遇到一个数学公式牵扯到将生成指定的数字存储的一个列表中,那个熊孩子忽然懵逼的不会啦,,,给了博主一个表现的机会,,,哈哈哈好嘛,虽然很简单但还是记录一下吧,,,嘿嘿 一 代码 # coding=utf-8 """ @author: jiajiknag 程序功能: """ # 方法一 lifts = [] for n in range(1,13): # lift = 1 +6 * np.sin(np.pi * n/12) lift

  • Python创建数字列表的示例

    [一]range()函数 在python中可以使用range()函数来产生一系列数字 for w in range(1,11): print(w) 输出: 1 2 3 4 5 6 7 8 9 10 #注意:这里的到10就结束了,不包括11 [二]list()函数 如果将range()作为参数传递给list()函数,那么就会将数字以列表的形式输出 num=list(range(1,11)) print(num) 输出: [1, 2, 3, 4, 5, 6, 7, 8, 9, 10] 使用range

  • Python 平方列表中每个数字的多种操作

    map map(function,iterable) x = [1,2,3,4,5] def square(num): return num*num print(list(map(square,x))) #output:[1, 4, 9, 16, 25] lambda lambda x: x = [1,2,3,4,5] print(list(map(lambda num:num*num, x))) #output:[1, 4, 9, 16, 25] list comprehensions [fu

  • Python将列表中的元素转化为数字并排序的示例

    本文实例讲述了Python中列表元素转为数字的方法.分享给大家供大家参考,具体如下: 有一个数字字符的列表: numbers = ['2', '4', '1', '3'] 想要把每个元素转换为数字: numbers = [2, 4, 1, 3] 1. Python2.x,可以使用map函数: numbers = map(int, numbers) 2. Python3.x,map返回的是map对象,当然也可以转换为List: numbers = list(map(int, numbers)) 排

  • Python随机函数random随机获取数字、字符串、列表等使用详解

    在python中用于生成随机数的模块是random,在使用前需要import, 下面看下它的用法. Python随机生成一个浮点数 random.random random.random()用于生成一个0到1的随机符点数: 0 <= n < 1.0 注意: 以下代码在Python3.5下测试通过, python2版本可稍加修改 描述 random() 方法返回随机生成的一个实数,它在(0,1)范围内. 语法 以下是 random() 方法的语法: import random random.ra

  • Python入门基础之数字字符串与列表

    简介 Python的主要应用是进行科学计算,科学计算的基础就是数字,字符串和列表.本文将会详细的给大家介绍一下这三个数据类型的使用情况. 数字 数字是任何科学计算中非常中要的类型,在Python中最常见的数字类型就是int和float. 看几个基本的数字操作: In [8]: 1+1 Out[8]: 2 In [9]: 3*2 + 10 Out[9]: 16 In [10]: (65 + 23) / 4 Out[10]: 22.0 上面我们可以看到,没有小数的是int类型,带有小数的是float

  • Python 数字转化成列表详情

    目录 1. digitize 2. Python判断对象是否可迭代 本篇阅读的代码实现了将输入的数字转化成一个列表,输入数字中的每一位按照从左到右的顺序成为列表中的一项. 本篇阅读的代码片段来自于30-seconds-of-python. 1. digitize def digitize(n): return list(map(int, str(n))) # EXAMPLES digitize(123) # [1, 2, 3] 该函数的主体逻辑是先将输入的数字转化成字符串,再使用map函数将字符

  • python将中文数字转化成阿拉伯数字的简单方法

    正则表达式提取文本中的数字 这里演示一下文本中提取中文年份 import re m0 = "在一九四九年新中国成立比一九九零年低百分之五点二人一九九六年击败俄军,取得实质独立" pattrern1 = '[零一二三四五六七八九]{4,}' pattrern2 = '[〇一二三四五六七八九零壹贰叁肆伍陆柒捌玖貮两]{4,}' time1 = re.findall(pattrern1,m0)#转化数字 提取年份如:'1949', '1990', '1996' 这里给出许多正则表达式的样例:

  • Python 如何优雅的将数字转化为时间格式的方法

    将数字转化成时间格式 from dateutil.parser import parse a=20170825 b=str(a) c=parse(b) print(c) 2017-08-25 00:00:00 将时间按照天排列,转化为一个数字,用来做时间序列分析 from matplotlib.pylab import date2num e = date2num(c) e Out[30]: 736566.0 将时间转化为时间戳 d=str(c) d Out[25]: '2017-08-25 00

  • python实现将英文单词表示的数字转换成阿拉伯数字的方法

    本文实例讲述了python实现将英文单词表示的数字转换成阿拉伯数字的方法.分享给大家供大家参考.具体实现方法如下: import re _known = { 'zero': 0, 'one': 1, 'two': 2, 'three': 3, 'four': 4, 'five': 5, 'six': 6, 'seven': 7, 'eight': 8, 'nine': 9, 'ten': 10, 'eleven': 11, 'twelve': 12, 'thirteen': 13, 'fourt

  • Python实现统计给定列表中指定数字出现次数的方法

    本文实例讲述了Python实现统计给定列表中指定数字出现次数的方法.分享给大家供大家参考,具体如下: 直接看实现: #!usr/bin/env python #encoding:utf-8 ''''' __Author__:沂水寒城 功能:给定一个列表计数指定数字出现的所有次数 ''' def count_num_func(num_list,num): ''''' 计数指定数字 ''' split_list=[] for one in num_list: split_list+=list(str

  • 利用Python将图片批量转化成素描图的过程记录

    目录 前言 程序 Method 1 Method 2 完整代码 结果 总结 前言 正常图片转化成素描图片无非对图片像素的处理,矩阵变化而已.目前很多拍照修图App都有这一功能,核心代码不超30行.如下利用 Python 实现读取一张图片并将其转化成素描图片.至于批处理也简单,循环读取文件夹里的图片处理即可.具体代码可以去我的 GitHub下载. 程序 Method 1 def plot_sketch(origin_picture, out_picture) : a = np.asarray(Im

  • python列表详情

    目录 1.列表 2.使用格式 3.一些很有用的函数 4.元组 tuple 5.元组的常用函数 1.列表 python没有数组,而是引入了列表(list),列表可以存储任何类型的数据,而且同一个列表中的数据类型也可以不同. 列表时序列结构,可以进行序列结构的基本操作,比如,索引.取子串.加.乘等等. 2.使用格式 创建一个新的列表时,将列表中的元素都放入一个中括号里,相邻元素之间使用逗号隔开(数据类型也可以是不一样的哈哈哈~) str = [10, 2.4, 'lmy'] print(str[0]

  • Python无权点文件转化成邻接矩阵方式

    目录 将无权点文件转化成邻接矩阵 邻接矩阵的COO格式 总结 将无权点文件转化成邻接矩阵 目前点文件是两列Excel代码,在进行复杂网络运算时需要转化成邻接矩阵. 我在网上找了一个代码,稍微修改了下,亲测可以成功转化. import csv import numpy as np import pandas as pd import networkx as nx import matplotlib.pyplot as plt f = open('D:/ii/R/C3000.csv') #数据两列(

随机推荐