您的位置:

python做列表程序(python 列表操作)

本文目录一览:

python怎么创建列表

如何创建列表,或生成列表。这里介绍在python的基础知识里创建或转变或生成列表的一些方法。

零个,一个或一系列数据用逗号隔开,放在方括号[ ]内就是一个列表对象。

列表内的数据可以是多个数目,不同类型。

相关推荐:《Python视频教程》

利用函数list():

用 list([iterable])函数返回一个列表。

可选参数iterable是可迭代的对象,例如字符串,元组。list()函数将可迭代对象的元素重新返回为列表。

将字典类型数据作为参数时,返回的列表元素是字典的键。

将range()函数作为参数,返回一个整数元素的列表。

如果没有参数list()函数将返回一个空列表。

其他能生成列表的方法:

利用split分割字符串生成列表:

字符串调用split方法返回一个由分开的子串组成的列表。

利用列表推导式:

列表推导式,是生成列表的一种方便的表达式。

有关列表推导式,看下面的连接。

求助,用python写这个程序。输出一个下列条件的列表

正确答案:

n=int(input('请输入一个整数:'))

l =[i for i in range(1,n+1)]

temp = l[0]

for i in range(len(l)-1):

l[i] = l[i+1]

l[i+1] = temp

print(l)

Python列表操作

1、append()

append()对于列表的操作主要实现的是在特定的列表最后添加一个元素,并且只能一次添加一个元素,并且只能在列表最后;

m.append(元素A)

2、extend()

extend()对于列表的操作主要实现的是对于特定列表的扩展和增长,可以一次添加多个元素,不过也只能添加在列表的最后;

m.extend([元素A,元素B,……])

3、insert()

insert()对于列表的操作主要是在列表的特定位置添加想要添加的特定元素,比较常用,这里的特定位置是指元素所在列表中的位置索引号,需要注意的是这里的索引号都是从0开始的,不是从1开始的,这个大家需要特别注意。

m.insert(A,元素B):表示在列表m里面的第A+1处加入元素B

1、m.remove()

m.remove的作用是移除掉列表m里面的特定元素;

m.remove(元素A)

2、del m[n]

它的作用是删除掉列表里面的索引号位置为n 的元素,这里需要注意的是del是一种操作语句。

del m[n]

3、m.pop()

它的作用是将列表m的最后一个元素返回,并且在此基础上进行删除掉

1、Temp=m[n]

获取m列表第n+位置处的元素

1、Temp=m[A:B]

表示将m列表里从索引号位置为A开始的元素到B-1处元素之间的列表获取赋给temp.

1、+:它主要实现的是多个列表之间的拼接

常见的列表操作符

2、*:主要实现的是列表的复制和添加

3、比较,:主要进行数据型列表的元素比较

4、and等:;逻辑运算符,可以进行列表之间的逻辑判断

1、m.count(A):输出元素A在列表m里面出现的次数

2、m.index(A):输出元素A在列表m里面的索引位置号

m.index(A,a,b):对于列表m里面包含多个元素A时,输出在列表m索引号a-b之间的特定索引号

3、m.reverse():将列表m进行前后的翻转,前变后,后变前

4、m.sort():将列表m里面地数据进行从小到大的排列

5、m.sort(reverse=True):将列表m里面地数据进行从大到小的排列

其实对于列表m里面的元素进行从大到小的排列还可以用以下方法:

N=m.sort()

N.reverse()

1) 深拷贝:

M=[A,b,a,c]

N=M[:]

2) 浅拷贝:

N=M

Python列表循环的两种方法

列表循环的一种方法是,先获取列表的下标,然后迭代列表的每一个下标。

列表循环的另一种方法是直接获取列表的每一个元素。

运行结果如下:

关于python列表生成的一个问题

python的列表生成式

一、r的防止字符转义

print r"a\nb"

运行结果:

a\nb

二、获取变量类型

a = r"a\nb"

print type(a)

运行结果:

type 'str'

三、判断类型

a = r"a\nb"

print isinstance(a,str)

运行结果:

True

四、对list、tuple、dict、set进行迭代

4.1常用的方式

list = ['a','b','c']

for i in list:

print i

dict = {"k1":"v1","k2":"v2"}

for k,v in dict.items():

print k,v

但是这种迭代方式会把list装到内存中进行迭代

4.2使用迭代器来迭代

list = ['a','b','c']

for i in iter(list):

print i

dict = {"k1":"v1","k2":"v2"}

for k,v in dict.iteritems():

print k,v

dict = {"k1":"v1","k2":"v2"}

for k in dict.iterkeys():

print k

这种方式的迭代比较省内存

4.3迭代值的同时迭代下标

list = ['a','b','c']

for index,value in enumerate(list):

print index,value

五、列表生成式

根据集合生成列表

list1 = ['a','b','c']

list2 = [1,2]

print [x*y for x in list1 for y in list2 if y1 and y3]

运行结果是:

['aa', 'bb', 'cc']

六、列表生成器

通过列表生成式,我们可以直接创建一个列表。但是,受到内存限制,列表容量肯定是有限的。而且,创建一个包含100万个元素的列表,不仅占用很大的存储空间,如果我们仅仅需要访问前面几个元素,那后面绝大多数元素占用的空间都白白浪费了。

所以,如果列表元素可以按照某种算法推算出来,那我们是否可以在循环的过程中不断推算出后续的元素呢?这样就不必创建完整的list,从而节省大量的空间。在Python中,这种一边循环一边计算的机制,称为生成器:generator。

只要把一个列表生成式的[]改成(),就创建了一个generator:

g = (x * x for x in range(10))

generator保存的是算法,每次调用next(g),就计算出g的下一个元素的值,直到计算到最后一个元素,没有更多的元素时,抛出StopIteration的错误。

但是我们一般通过for循环来迭代它,并且不需要关心StopIteration的错误。

for n in g:

print(n)