Python中的列表及其操作方法

目录
  • 一、列表简介
  • 二、访问列表元素
  • 三、修改、添加和删除列表元素
    • 1.修改列表元素
    • 2.在列表中添加元素
    • 3.从列表中删除元素
  • 四、对列表元素排序
  • 五、确定列表长度
  • 六、遍历列表
  • 七、创建数值列表
    • 1.函数range()的使用
    • 2.创建数字列表
    • 3.列表解析
    • 4.处理数字列表的函数应用
  • 八、切片
  • 九、元组

前言:

本文的主要内容是介绍Python中的列表及其方法的使用,涉及到的方法包括对列表元素进行修改、添加、删除、排序以及求列表长度等,此外还介绍了列表的遍历、数值列表、切片和元组的一些操作,文中附有代码以及相应的运行结果辅助理解。

一、列表简介

列表由一系列按特定顺序排列的元素组成,它能够在一个地方存储成组的信息,其中元素的个数可以只有几个,也可以有数百万个。
在Python中,用方括号来表示列表,并用逗号来分隔其中的元素,每个元素用单引号(也可以是双引号)括起来。

下面的代码就是一个简单的列表示例:

fruits = ['grape', 'apple', 'banana', 'orange', 'pear']

尝试打印一下列表,代码如下:

fruits = ['grape', 'apple', 'banana', 'orange', 'pear']
print(fruits)

输出结果如下图:

可以看到,如果简单的打印列表,其输出结果就包含方括号、引号、元素名称和逗号,这不是期待的输出,下面来介绍怎么访问列表元素。

二、访问列表元素

列表是一个有序的集合,因此要访问列表中的任何一个元素,只要给出列表的名称,再给出该元素的索引并将其放在方括号内,即可实现访问。
在Python中,索引是从0开始的,元素的索引均是其位置减1。
如果不知道列表的长度,但要访问最后一个元素,只要将索引指定为-1,Python即可返回最后一个列表元素,同理,索引为-2可返回倒数第二个列表元素。

下面是访问列表元素的例子:

fruits = ['grape', 'apple', 'banana', 'orange', 'pear']
print("The first element of fruits is "+fruits[0]+".")
print("The second element of fruits is "+fruits[1]+".")
print("The last element of fruits is "+fruits[-1]+".") #访问最后一个列表元素

输出结果如下图所示:

三、修改、添加和删除列表元素

1.修改列表元素

修改列表元素只要指定列表名和要修改的元素的索引,再赋值给该元素新值即可。

下面是修改列表元素的例子:

fruits = ['grape', 'apple', 'banana', 'orange', 'pear']
print('Before modify:\nfruits = '+str(fruits))

fruits[1] = 'mango' #修改第二个元素
print('After modify:\nfruits = '+str(fruits))

输出结果如下图所示:

2.在列表中添加元素

在列表中添加元素有以下两个方法:

  • append(value) —— 在列表末尾添加元素。
  • insert(index,value) —— 在列表指定的位置添加元素。

方法append()通过追加的方式在列表的末尾插入元素,这很方便,但是有时候需要在列表指定的位置插入某个元素,这时就需要用到方法insert(),将元素插入到指定的位置后,原列表中该位置之后的元素索引均加1,该位置之前的元素索引不变。

在列表中添加元素的例子:

fruits = ['grape', 'apple', 'banana', 'orange', 'pear']
print('Original:\nfruits = '+str(fruits))

fruits.append('mango')
print('After append:\nfruits = '+str(fruits))

fruits.insert(2, 'watermelon')
print('After insert:\nfruits = '+str(fruits))

输出结果如下图所示:

3.从列表中删除元素

从列表中删除元素有以下三个方法:

  • del listname[index] —— 从列表中删除一个元素,且不再使用。
  • pop(index) —— 从列表中删除一个元素,后续还会再使用。
  • remove(‘element name’) —— 不知道要从列表中删除的值所处的位置,但知道要删除元素的值。

如果要从列表中删除一个元素,且不再以任何方式使用它,就使用del语句;如果要在删除元素后还能继续使用它,就使用方法pop();如果只知道要删除的元素的值,就使用方法remove(),方法remove()只删除第一个指定的值,如果要删除的值可能在列表中出现多次,就需要使用循环来判断是否删除了所有这样的值。
删除掉某一元素后,该元素之后的元素索引均减1,该元素之前的元素索引不变。

下面是从列表中删除元素的例子:

fruits = ['grape', 'apple', 'watermelon', 'banana', 'orange', 'apple', 'pear', 'mango']
print('Original:\nfruits = '+str(fruits))

del fruits[2]  #删除列表的第三个元素
print('After del:\nfruits = '+str(fruits))

fruit_popped = fruits.pop(-1)  #删除列表的最后一个元素
print('After pop:\nfruits = '+str(fruits))
print('The popped fruit is ' + fruit_popped + '.')

fruit_remove = 'apple'
fruits.remove(fruit_remove) #删除列表中名为fruit_remove的第一个元素
print('After remove:\nfruits = '+str(fruits))
print('The removed fruit is ' + fruit_remove + '.')

输出结果如下图所示:

四、对列表元素排序

对列表元素排序有以下三个方法:

  • sort() —— 对列表进行永久性排序。
  • sorted() —— 对列表进行临时排序。
  • reverse() —— 反转列表元素的排列顺序。

下面是使用sort()对列表元素排序的例子:

fruits = ['grape', 'apple', 'watermelon', 'banana', 'orange', 'pear', 'mango']
print('原列表:\nfruits = '+str(fruits))

fruits.sort() #按首字母顺序
print('顺序排列:\nfruits = '+str(fruits))

fruits.sort(reverse=True) #按首字母倒序
print('倒序排列:\nfruits = '+str(fruits))

输出结果如下图所示:

下面是使用sorted()对列表元素排序的例子:

num = ['1', '8', '6', '4', '9'] #这里的列表元素不加引号也可
print('原列表:\nnum = '+str(num))

print('临时排序:\nnum = '+str(sorted(num))) #临时排序
print('再一次输出原列表:\nnum = '+str(num))

输出结果如下图所示:

下面是使用reverse()对列表元素排序的例子:

fruits = ['grape', 'apple', 'watermelon', 'banana', 'orange', 'pear', 'mango']
print('原列表:\nfruits = '+str(fruits))

fruits.reverse() #逆向排列列表元素
print('逆向排列:\nfruits = '+str(fruits))

输出结果如下图所示:

五、确定列表长度

确定列表长度的方法如下:

  • len() —— 求列表长度。

下面是确定列表长度的例子:

fruits = ['grape', 'apple', 'watermelon', 'banana', 'orange', 'pear', 'mango']
print('列表 fruits 的长度为:'+str(len(fruits)))

num = ['1', '8', '6', '4', '9']
print('列表 num 的长度为:'+str(len(num)))

输出结果如下图所示:

六、遍历列表

在Python中,如果需要对列表中的每个元素都执行相同的操作,可使用for循环。下面是遍历整个列表的例子,注意for循环中各代码行的缩进,缩进不同,执行的次数也不同。

fruits = ['grapes', 'apples', 'bananas', 'oranges', 'pears']
for fruit in fruits:
    print(fruit)
    print('I like '+str(fruit)+'.') #缩进,列表的长度是多少,就执行多少次
print('There are '+str(len(fruits))+' fruits here.') #不缩进,for循环结束后执行,执行1次

输出结果如下图所示:

编写for循环时,用于存储列表中每个值的临时变量可以指定任何名称,一般使用单数和复数式的名称可帮助我们更好地判断代码段处理的是单个列表元素还是整个列表。

七、创建数值列表

列表非常适合用于存储数字集合,而Python提供了很多工具可帮助我们高效地处理数字列表,下面来看怎么创建数值列表。

1.函数range()的使用

range(start, end, step length) —— 在start到end这个左闭右开区间上生成步长为step length的一系列数字,含start值但不含end值,如果没有参数step length,默认步长为1。

下面是函数range()使用的例子:

print('1-5之间步长为1的输出:')
for value in range(1,5):
    print(value)

print('1-5之间步长为2的输出:')
for value in range(1,5,2):
    print(value)

输出结果如下图所示:

2.创建数字列表

range()作为list()的参数,输出将为一个数字列表。当然,也可以创建一个空的列表,然后通过for循环将函数range()生成的数依次追加到列表中,这样也可以生成一个数字列表。

下面是使用函数range()创建数字列表的例子:

nums = list(range(1,5)) #直接使用函数list()创建列表
print('方法一:nums = '+str(nums))

nums=[]  #通过for循环创建列表
for value in range(1,5):
    nums.append(value)
print('方法二:nums = '+str(nums))

输出结果如下图所示:

可以看到,这两种方法的输出结果是一样的。

3.列表解析

列表解析是将for循环和创建新元素的代码合并成一行,并自动附加新元素。

下面通过一个例子了解列表解析:

squares = []
for value in range(1,11):
    squares.append(value**2)
print('一般方法:squares = ' + str(squares))

squares = [value**2 for value in range(1,11)] #列表解析
print('列表解析法:squares = ' + str(squares))

输出结果如下图所示:

由输出结果可知,虽然两者的输出结果相同,但是列表解析能够有效的缩减代码的行数。

4.处理数字列表的函数应用

下面是几个专门用于处理数字列表的Python函数:

  • min() —— 求列表最小值。
  • max() —— 求列表最大值。
  • sum() —— 求列表元素之和。

下面是这几个函数应用的例子:

nums = [value for value in range(1,11)]
print('nums = ' + str(nums))
print('列表nums中的最小值为:' + str(min(nums)))
print('列表nums中的最大值为:' + str(max(nums)))
print('列表nums的所有元素之和为:' + str(sum(nums)))

输出结果如下图所示:

八、切片

创建切片需要指定要使用的第一个元素和最后一个元素的索引,与函数range()类似,Python在到达指定的第二个索引前面的元素后停止。可以灵活运用索引使其从开头访问或访问至列表末尾,甚至从头至尾复制列表。

下面是切片应用的例子:

fruits = ['grape', 'apple', 'banana', 'orange', 'pear']
print('fruits = '+str(fruits))

print('列表fruits的前三个元素:'+str(fruits[:3]))
print('列表fruits的后三个元素:'+str(fruits[-3:]))
print('列表fruits的全部元素:'+str(fruits[:])) #复制列表

print('遍历列表fruits的前三个元素:')
for fruit in fruits[0:3]:  #遍历列表fruits的前三个元素
    print(fruit)

输出结果如下图所示:

下面这个例子用来区分切片和列表关联的区别:

fruits = ['grape', 'apple', 'banana', 'orange', 'pear']
print('Original fruits = '+str(fruits))
fruits_1 = fruits[:]  #复制列表

fruits_2 = fruits #列表fruits和fruits_2相关联
fruits.append('mango')
fruits_2.append('watermelon')

print('After append fruits = '+str(fruits))
print('fruits_1 = '+str(fruits_1))
print('fruits_2 = '+str(fruits_2))

输出结果如下图所示:

由输出结果可以看到,复制列表和关联列表的区别还蛮大的,复制列表之后,原列表再更改也和已经复制到的列表无关,但是两个列表关联后,无论哪个列表变动都会同步到另一个列表,因为两个变量都指向了同一个列表。

九、元组

列表非常适合用于存储在程序运行期间可能变化的数据集,然而,有时候我们需要创建一系列不可修改的元素,元组可以满足这种需求。
Python将不能修改的值称为不可变的,而不可变的列表被称为元组。元组和列表类似又有区别,它使用的是圆括号而不是方括号来标识,定义元组后,就可以使用索引像访问列表元素一样来访问元组。
在Python中,不能给元组的元素赋值,修改元组的操作是被禁止的,但可以给存储元组的变量赋值。

下面是元组应用的例子:

group = (100, 50)
print('group = '+str(group))
print('打印元组内元素:')
print(group[0])
print(group[1]) #打印元组中的各个元素

print('遍历元组:')
for element in group: #遍历元组
    print(element)

print('修改元组变量后输出:')
group = (200, 100) #修改元组变量,给元组赋新值
for element in group:
    print(element)

输出结果如下图所示:

总结:

以上就是Python中列表及其操作的所有内容了,文中提到的一些方法都是对列表的简单操作,应当多加练习牢记,并在之后的编程中熟练使用。

到此这篇关于Python中的列表及其操作方法的文章就介绍到这了,更多相关Python列表内容请搜索我们以前的文章或继续浏览下面的相关文章希望大家以后多多支持我们!

(0)

相关推荐

  • python列表的常用操作方法小结

    本文实例为大家了Python中列表(List)的详解操作方法,供大家参考,具体内容如下 1.创建列表.只要把逗号分隔的不同的数据项使用方括号括起来即可 List = ['wade','james','bosh','haslem'] 与字符串的索引一样,列表索引从0开始.列表可以进行截取.组合等 2.添加新的元素 List.append('allen') #方式一:向list结尾添加 参数object >>> a=[1,2,3,4] >>> a.append(5) >

  • Python针对给定列表中元素进行翻转操作的方法分析

    本文实例讲述了Python针对给定列表中元素进行翻转操作的方法.分享给大家供大家参考,具体如下: 题目 给定一列表,翻转其中的元素,倒序输出 做法很简单,这里给出来两种做法,第一种最简单使用的是针对列表的切片操作,下面是具体实现 #!usr/bin/env python #encoding:utf-8 ''''' __Author__:沂水寒城 功能:翻转列表 ''' def inverse_list1(num_list): ''''' 翻转列表 ''' print num_list[::-1]

  • Python列表操作方法详解

    本节内容 0.列表常用功能汇总 1.定义列表 2.访问列表中的元素 3.切片 4.追加 5.插入 6.修改 7.拷贝 8.删除 9.扩展 10.统计 11.翻转 12.排序 13.获取下标值 14.清空列表 列表是Python最常用的数据类型之一,通过列表可以对数据实现最方便的存储.修改等操作 0.列表常用功能汇总 1.定义列表 >>> name=[] #定义空列表 >>> name=['luoahong','chenqun','wenhai','daiqiao','x

  • 关于python列表增加元素的三种操作方法

    1.insert方法,该方法包含两个参数,第一个参数为插入的位置参数,第二个参数为插入内容 a = [0,0,0] b = [1,2,3] a.insert(0,b) print a 输出: [[1, 2, 3], 0, 0, 0] 2.extend方法,该方法的参数为一个列表,将该指数所指定到的列表插入到原列表中 a = [0,0,0] b = [1,2,3] a.extend(b) print a 输出: [0, 0, 0, 1, 2, 3] 3.append方法,该方法后面只能带上一个参数

  • Python操作列表常用方法实例小结【创建、遍历、统计、切片等】

    本文实例讲述了Python操作列表常用方法.分享给大家供大家参考,具体如下: 使用for循环,遍历整个列表 依次从列表中取出元素,存放到names变量中,并拼接打印 names = ['杜子腾','杜小月','杜小星','杜小阳','杜小花'] for name in names: print("你好啊"+" "+name+" "+"我们交个朋友吧") 运行结果: 你好啊 杜子腾 我们交个朋友吧 你好啊 杜小月 我们交个朋友吧

  • Python创建或生成列表的操作方法

    如何创建列表,或生成列表.这里介绍在python的基础知识里创建或转变或生成列表的一些方法. 零个,一个或一系列数据用逗号隔开,放在方括号[ ]内就是一个列表对象. 列表内的数据可以是多个数目,不同类型. 利用函数list(): 用 list([iterable])函数返回一个列表. 可选参数iterable是可迭代的对象,例如字符串,元组.list()函数将可迭代对象的元素重新返回为列表. 将字典类型数据作为参数时,返回的列表元素是字典的键. 将range()函数作为参数,返回一个整数元素的列

  • Python使用numpy模块实现矩阵和列表的连接操作方法

    Numpy模块被广泛用于科学和数值计算,自然有它的强大之处,之前对于特征处理中需要进行数据列表或者矩阵拼接的时候都是自己写的函数来完成的,今天发现一个好玩的函数,不仅好玩,关键性能强大,那就是Numpy模块自带的矩阵.列表连接函数,实践一下. #!usr/bin/env python #encoding:utf-8 from __future__ import division ''' __Author__:沂水寒城 使用numpy模块实现矩阵的连接操作 ''' import numpy as

  • Python编程技巧连接列表的八种操作方法

    目录 1. 最直观的相加 2. 借助 itertools 3. 使用 * 解包 4. 使用 extend 5. 使用列表推导式 6. 使用 heapq 8. 使用 yield from Python 语言里有许多(而且是越来越多)的高级特性,是 Python 发烧友们非常喜欢的.在这些人的眼里,能够写出那些一般开发者看不懂的高级特性,就是高手,就是大神. 但你要知道,在团队合作里,炫技是大忌. 为什么这么说呢?我说下自己的看法: 越简洁的代码,越清晰的逻辑,就越不容易出错: 在团队合作中,你的代

  • Python中的列表及其操作方法

    目录 一.列表简介 二.访问列表元素 三.修改.添加和删除列表元素 1.修改列表元素 2.在列表中添加元素 3.从列表中删除元素 四.对列表元素排序 五.确定列表长度 六.遍历列表 七.创建数值列表 1.函数range()的使用 2.创建数字列表 3.列表解析 4.处理数字列表的函数应用 八.切片 九.元组 前言: 本文的主要内容是介绍Python中的列表及其方法的使用,涉及到的方法包括对列表元素进行修改.添加.删除.排序以及求列表长度等,此外还介绍了列表的遍历.数值列表.切片和元组的一些操作,

  • python中字典dict常用操作方法实例总结

    本文实例总结了python中字典dict常用操作方法.分享给大家供大家参考.具体如下: 下面的python代码展示python中字典的常用操作,字典在python开发中有着举足轻重的地位,掌握字典操作相当重要 #创建一空字典 x = {} #创建包含三个项目的字典 x = {"one":1, "two":2, "three":3} #访问其中的一个元素 x['two'] #返回字典中的所有键列表 x.keys() #返回字典中的所有值列表 x.v

  • Python中拆分字符串的操作方法

    使用字符串时,常见的操作之一是使用给定的分隔符将字符串拆分为子字符串数组.在本文中,我们将讨论如何在Python中拆分字符串. .split()方法 在Python中,字符串表示为不可变的str对象. str类带有许多字符串方法,允许您操作字符串. .split()方法返回由分隔符分隔的子字符串列表. 它采用以下语法: str.split(delim=None, maxsplit=-1) 分隔符可以是字符或字符序列,而不是正则表达式. 在下面的示例中,字符串s将使用逗号分隔,作为分隔符. s =

  • Python中元组,列表,字典的区别

    Python中,有3种内建的数据结构:列表.元组和字典. 1.列表 list是处理一组有序项目的数据结构,即你可以在一个列表中存储一个序列的项目.列表中的项目.列表中的项目应该包括在方括号中,这样python就知道你是在指明一个列表.一旦你创建了一个列表,你就可以添加,删除,或者是搜索列表中的项目.由于你可以增加或删除项目,我们说列表是可变的数据类型,即这种类型是可以被改变的,并且列表是可以嵌套的. 实例: #coding=utf-8 animalslist=['fox','tiger','ra

  • Python中数组,列表:冒号的灵活用法介绍(np数组,列表倒序)

    让我们来看一个例子: import numpy as np x=np.array([[1,2,3],[5,6,7],[7,8,9]]) print(x) Out[64]: array([[1, 2, 3], [5, 6, 7], [7, 8, 9]]) 以上的结果我想大家应该没问题把,就是定义了一个np数组,关键在下面 print(x[:,::-1]) Out[65]: [[3 2 1] [7 6 5] [9 8 7]] 以上的代码实现了一种功能,就是将数组倒序排列了,每个维度上倒序,这段代码怎

  • python 中的列表生成式、生成器表达式、模块导入

    5.16 列表生成式 l=[] for i in range(100): l.append('egg%s' %i) print(l) ​ l=['egg%s' %i for i in range(100)] l=['egg%s' %i for i in range(1000) if i > 10] print(l) 5.17 列表生成式与生成器表达式的应用 names=['egon','alex_sb','wupeiqi','yuanhao','lxx'] res=map(lambda x:x.

  • Python中遍历列表的方法总结

    Python中遍历列表有以下几种方法: 一.for循环遍历 lists = ["m1", 1900, "m2", 2000] for item in lists: print(item) lists = ["m1", 1900, "m2", 2000] for item in lists: item = 0; print(lists) 运行结果: ['m1', 1900, 'm2', 2000] 二.while循环遍历: li

  • Python 中判断列表是否为空的方法

    在判断列表是否为空时,你更喜欢哪种方式?决定因素是什么? 在 Python 中有很多检查列表是否是空的方式,在讨论解决方案前,先说一下不同方法涉及到的不同因素. 我们可以把判断表达式可以分为两个阵营: 对空列表的显式比较 对空列表的隐式求值 这意味着什么? 显式比较 我们从显式比较开始说起,无论我们使用列表符号 [] 还是声明空列表的函数 list() ,遵循的策略是查看待检查列表是否与空列表完全相等. # 都是用来创建空列表 a = [] b = list() print(a == b) #

  • 如何理解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中关于列表的常规操作范例以及介绍

    目录 1.列表的介绍 2.打印出列表的数据 1.我们可以根据下标取值进行打印 2.使用for循环遍历 3.使用while循环遍历 3.列表的添加操作 1.append()方法 2.extend()方法 3.insert()方法 4.列表的修改操作 5.列表的查找操作 1.in 方法 2.not in 方法 3.index 方法 4.count 方法 6.列表中的删除操作 1.del 方法 2.pop 方法 3.remove 方法 7.列表的排序操作 8.小练习送给你们 (一) (二) 1.列表的

随机推荐