在Python中预先初始化列表内容和长度的实现

如果想设置相同的初值和想要的长度

>>> a=[None]*4
>>> print(a)
[None, None, None, None]

如果我们预先知道列表的长度,那预先初始化该长度的列表,然后对每一个赋值,会比每次list.append()更有效率。

如果想要序列初值,可以用range函数,但注意,range函数返回的是可迭代对象,需要转化成list

>>> b=list(range(10))
>>> print(b)
[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]

>>> b=range(10)
>>> print(b)
range(0, 10)

如果想剔除掉不想要的数据,可以用列表推导式

>>> c=[i for i in range(10) if i%2==0 and i<8]
>>> print(c)
[0, 2, 4, 6]

以上这篇在Python中预先初始化列表内容和长度的实现就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持我们。

(0)

相关推荐

  • Python中list初始化方法示例

    本文实例讲述了Python中list初始化方法.分享给大家供大家参考,具体如下: 1.基本方法. lst = [1, 2, 3, 4, 5] 2.初始化连续数字. >>> lst = [n for n in range(5, 10)] >>> print(lst) [5, 6, 7, 8, 9] 3.初始化n个相同值.(两种方式) >>> lst = ['x' for n in range(5)] >>> print(lst) ['x

  • Python中类的初始化特殊方法

    什么是特殊方法?当我们在设计一个类的时候,python中有一个用于初始化的方法$__init__$,类似于java中的构造器,这个就是特殊方法,也叫作魔术方法.简单来说,特殊方法可以给你设计的类加上一些神奇的特性,比如可以进行python原生的切片操作,迭代.连乘操作等.在python中,特殊方法以双下划线开始,以双下划线结束. 一个大例子 数学中有一个表示数的概念叫做向量,但是python中的数据类型却没有.我们来设法用python实现它. 首先考虑,向量跟普通的数据类型不同,传统的数可以直接

  • python 变量初始化空列表的例子

    python 不能写new_loss=old_loss=[] 这样 两个变量实际上是同一个list 要分开写new_loss=[] Old_loss=[] 以下列数据文件为例: def analyze_mmr(fn): #初始化方法一 new_loss = [] old_loss = [] #初始化方法二 new_loss = old_loss =[] with open(fn, encoding='utf8') as f: for line in f: parts = line.split('

  • 在Python中预先初始化列表内容和长度的实现

    如果想设置相同的初值和想要的长度 >>> a=[None]*4 >>> print(a) [None, None, None, None] 如果我们预先知道列表的长度,那预先初始化该长度的列表,然后对每一个赋值,会比每次list.append()更有效率. 如果想要序列初值,可以用range函数,但注意,range函数返回的是可迭代对象,需要转化成list >>> b=list(range(10)) >>> print(b) [0,

  • 在python中只选取列表中某一纵列的方法

    如下所示: >>> a=random.randint(1,6,(5,3)) >>> a array([[5, 3, 1], [5, 5, 1], [5, 1, 3], [1, 4, 3], [5, 1, 2]]) >>> b=a.tolist() >>> b#选取b列表的前2列 [[5, 3, 1], [5, 5, 1], [5, 1, 3], [1, 4, 3], [5, 1, 2]] >>> c=mat(b) &

  • 在Python中分别打印列表中的每一个元素方法

    Python版本 3.0以上 分别打印列表中的元素有两种: 方法一 a = [1,2,3,4] print(*a,sep = '\n') #结果 1 2 3 4 方法二 a = [1,2,3,4] [print(i) for i in a] #结果 1 2 3 4 [None, None, None, None] 以上这篇在Python中分别打印列表中的每一个元素方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持我们.

  • python 中字典嵌套列表的方法

    如下所示: >>> dict={} >>> dict['list']=[] >>> dict['list'].append([1,2,3,4]) >>> dict['list'].append([5,6,7]) >>> dict['list'].append([7,8,9,0,10]) 输出字典: >>> dict {'list': [[1, 2, 3, 4], [5, 6, 7], [7, 8,

  • python中多层嵌套列表的拆分方法

    场景:有一个多层嵌套的列表如:[[23],[3,3],[22,22],1,123,[[123,a],2]] 拆分成: def splitlist(list): ''' 现有一个列表,里面元素包括 数字,字母,列表,字典等元素,现在要将字典去掉,并将列表 分解成字母,或数字元素如:[[1,2,3],2,3,[1,3,[12,22]],'a',12] 经函数处理后[1, 2, 3, 2, 3, 1, 3, 12, 22, 'a', 12] ''' alist = [] a = 0 for subli

  • python中计算一个列表中连续相同的元素个数方法

    最简单的例子: a = [1,1,1,1,2,2,2,3,3,1,1,1,3] # 问:计算a中最多有几个连续的1 很明显,答案是4 如果用代码实现,最先想到的就是itertools: import itertools a = [1,1,1,1,2,2,2,3,3,1,1,1,3] print max([len(list(v)) for k,v in itertools.groupby(a)]) 但是如果不想用itertools呢? 可以尝试以下的办法,效率还比itertools高一个数量级!

  • 对python中两种列表元素去重函数性能的比较方法

    测试函数: 第一种:list的set函数 第二种:{}.fromkeys().keys() 测试代码: #!/usr/bin/python #-*- coding:utf-8 -*- import time import random l1 = [] leng = 10L for i in range(0,leng): temp = random.randint(1,10) l1.append(temp) print '测试列表长度为:',leng #first set last = time.

  • Python中过滤字符串列表的方法

    Python使用列表数据类型在顺序索引中存储多个数据.它的工作方式类似于其他编程语言的数字数组.filter()方法是Python的一种非常有用的方法.可以使用filter()方法从Python中的任何字符串.列表或字典中过滤一个或多个数值.它根据任何特定条件过滤数据.当条件返回true时,它将存储数据,而返回false时将丢弃数据.本文通过使用不同的示例展示了如何在Python中过滤列表中的字符串数据.您必须使用Python 3+来测试本文的示例. 使用另一个列表过滤字符串列表 本示例说明了如

  • Python中五种列表拷贝的方法

    目录 1. 赋值操作 2. 使用copy操作 3. 使用list()构造函数 4. 使用索引 5. 列表生成式 6 总结 1. 赋值操作 最容易想到的就是我们可以使用赋值操作来直接复制列表, 代码如下: copied_list=original_list 此时,original_list 和copyed_list 都将指向同一个列表对象. 举例如下: original_list=[1,2,3] #Copying list using assignment operation copied_lis

随机推荐