【Python操作基础】——列表操作

简介: 【Python操作基础】——列表操作

【Python操作基础】系列——列表操作,建议收藏!

该篇文章首先利用Python展示了使用列表类型数据的相关操作,包括基本用法;切片操作;反向遍历;类型转换;extend和append的区别;列表推导式;删除和插入;常用操作函数等。

1 基本用法

 运行程序:

myList1 = [21,22,23,24,25,26,27,28,29] myList1

myList2=myList1 myList2

myList3=list(“Data”) myList3

myList1[-1] #倒数第几个

myList1[-9]

#myList1[9] #报错:超过边界

2 切片操作

  运行程序:

myList1 = [21,22,23,24,25,26,27,28,29]
myList1
myList1[1:8]   #第2个到第个
myList1[1:8:2]  #步长为2
myList1[:5]   #第1个到第5个
myList1[:]   #所有
myList1[2:]  #第3个到最后
myList1[:-1]  #第1个到倒数第2个

运行结果:

[21, 22, 23, 24, 25, 26, 27, 28, 29]
[22, 23, 24, 25, 26, 27, 28]
[22, 24, 26, 28]
[21, 22, 23, 24, 25]
[21, 22, 23, 24, 25, 26, 27, 28, 29]
[23, 24, 25, 26, 27, 28, 29]
29

3 反向遍历

  运行程序:

myList1 = [21,22,23,24,25,26,27,28,29]
myList1
myList1[::-1]   #倒序
myList1
myList1[:-1]    
reversed(myList1) #返回值为一个迭代器
list(reversed(myList1)) #list强制转换显示内容
myList1
myList1.reverse()#内置函数不改变列表本身
myList1

运行结果:

[21, 22, 23, 24, 25, 26, 27, 28, 29]
[29, 28, 27, 26, 25, 24, 23, 22, 21]
[21, 22, 23, 24, 25, 26, 27, 28, 29]
[21, 22, 23, 24, 25, 26, 27, 28]
<list_reverseiterator at 0x26c0cdc18d0>
[29, 28, 27, 26, 25, 24, 23, 22, 21]
[21, 22, 23, 24, 25, 26, 27, 28, 29]
[29, 28, 27, 26, 25, 24, 23, 22, 21]

4 类型转换

  运行程序:

list("chaolemen")

运行结果:

['c', 'h', 'a', 'o', 'l', 'e', 'm', 'e', 'n']

5 extend与append的区别

  运行程序:

from IPython.core.interactiveshell import InteractiveShell
InteractiveShell.ast_node_interactivity = "all"       ##执行多输出
myList1 = [21,22,23,24,25,26,27,28,29]
myList2=myList1
myList1 + myList2
myList1 = [21,22,23,24,25,26,27,28,29]
myList2=myList1
myList1.extend(myList2) #列表1上后面加列表2,以成员身份追加
myList1
myList1.append(myList2)#平等追加
myList1
myList1 = [1,2,3,4,5,6,7,8,9]
myList3 = [11,12,13,14,15,16,17,18,19]
[i + j for i, j in zip(myList1, myList3)]  #两个列表数值相加

运行结果:

[21, 22, 23, 24, 25, 26, 27, 28, 29, 21, 22, 23, 24, 25, 26, 27, 28, 29]
[21, 22, 23, 24, 25, 26, 27, 28, 29, 21, 22, 23, 24, 25, 26, 27, 28, 29]
[21, 22, 23, 24, 25, 26, 27, 28, 29, 21, 22, 23, 24, 25, 26, 27, 28, 29, [...]]
[12, 14, 16, 18, 20, 22, 24, 26, 28]

6 列表推导式

  运行程序:

[2 for i in range(20)]
[i for i in range(1, 21)]
[i for i in range(1, 21, 2)]
range(10)
list(range(0,10,2))
[type(item) for item in [True,"1",1,1.0]]
print([ord(i) for i in ['朝', '乐', '门']])
["input/%d.txt" % i + "dd%d" % i for i in range(5)]#可以用字符串的占位符
["input/%d.txt"%i + "_%d" %i for i in range(5)]

运行结果:

[2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2]
[1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20]
[1, 3, 5, 7, 9, 11, 13, 15, 17, 19]
range(0, 10)
[0, 2, 4, 6, 8]
[bool, str, int, float]
[26397, 20048, 38376]
['input/0.txtdd0',
 'input/1.txtdd1',
 'input/2.txtdd2',
 'input/3.txtdd3',
 'input/4.txtdd4']
['input/0.txt_0',
 'input/1.txt_1',
 'input/2.txt_2',
 'input/3.txt_3',
 'input/4.txt_4']

7 删除与插入

  运行程序:

lst_1 = [10,10,11,12,13,14,15]
lst_1.insert(1, 8) #插入insert(插入下标位置, 插入值)
lst_1
lst_1 = [10,10,11,12,13,14,15]
lst_1.pop(2)       #删除列表下标为2的值
lst_1
lst_1 = [10,10,11,12,13,14,15]
del lst_1[2]   #下标删除
lst_1
lst_1 = [10,10,11,12,13,14,15]
lst_1.remove(10) #只删除第一个10
lst_1
lst_1 = [10,10,11,12,11,13,14,15]
for i in lst_1 :
 if i == 11: 
     lst_1.remove(i)  #删除11
print(lst_1)
lst_1 = [10,10,11,12,11,13,14,15]
[x for x in lst_1 if x != 10]  #删除所有10
lst_1 = [10,10,11,12,11,13,14,15]
list(filter(lambda i:i!=10, lst_1)) #过滤10
lst_1 = [10,10,11,12,11,13,14,15]
list(set(lst_1))#过滤重复值

运行结果:

[10, 8, 10, 11, 12, 13, 14, 15]
11
[10, 10, 12, 13, 14, 15]
[10, 10, 12, 13, 14, 15]
[10, 11, 12, 13, 14, 15]
[10, 10, 12, 13, 14, 15]
[11, 12, 11, 13, 14, 15]
[11, 12, 11, 13, 14, 15]
[10, 11, 12, 13, 14, 15]

8 常用操作函数

  运行程序:

lst_1 = [10,10,11,12,13,14,15]
len(lst_1) #列表长度
lst_1 = [10,10,11,12,11,13,14,15]
sorted(lst_1) #列表排序,正序,不改变原序列
lst_1
lst_1 = [10,10,11,12,11,13,14,15]
lst_1.sort()  #列表排序,正序,改变原序列
lst_1
lst_1 = [10,10,11,12,11,13,14,15]
lst_2=[11,12,13,14]     #1列表后加2列表,加一整个列表
lst_1.append(lst_2) 
print(lst_1)
lst_1 = [10,10,11,12,11,13,14,15]
lst_2=[11,12,13,14]
lst_1.extend(lst_2)   # #1列表后加2列表,直接原列表后面加
print(lst_1)
lst_1 = [1,2,3,'Python',True,4.3,None]
lst_2 = [1,2,[2,3]]
print(lst_1, lst_2)  #依次输出两个列表
lst_1 = [1,2,3,'Python',True,4.3,None]
list(reversed(lst_1))  #倒序列表
reversed(lst_1)  #倒序列表,输出格式
lst_1 
[1, 2, 3, 'Python', True, 4.3, None]
lst_1 = [1,2,3,'Python',True,4.3,None]
lst_1.reverse()#倒序列表
lst_1
str1=[1,2,3,4,5]
str2=[20,21,23,24,25]
print(zip(str1,str2))#两列表同步运算,输出格式
print(list(zip(str1,str2)))  #强制转化为值
str1=["a","about","c","china","b","beijing"]
[x.upper() for x in str1 if len(x)>1]    #输出列表中长度大于1的字符串
[x**2 for x in range(10)]  #列表运算
str1=["a","about","c","china","b","beijing"]
[str2.upper() for str2 in str1 if len(str2)>1]#输出列表1中长度大于1的字符串
myList=[2,3,5,6,7,3,2]
list(enumerate(myList))#内置函数
 
i=0
sum=0
for value in myList:
    i=i+1
    sum=value+i
sum
sum=0
[dict((value,i) for i, value in enumerate(myList))]

运行结果:

7
[10, 10, 11, 11, 12, 13, 14, 15]
[10, 10, 11, 12, 11, 13, 14, 15]
[10, 10, 11, 11, 12, 13, 14, 15]
[10, 10, 11, 12, 11, 13, 14, 15, [11, 12, 13, 14]]
[10, 10, 11, 12, 11, 13, 14, 15, 11, 12, 13, 14]
[1, 2, 3, 'Python', True, 4.3, None] [1, 2, [2, 3]]
[None, 4.3, True, 'Python', 3, 2, 1]
<list_reverseiterator at 0x2cd44ac2f28>
[1, 2, 3, 'Python', True, 4.3, None]
[1, 2, 3, 'Python', True, 4.3, None]
[None, 4.3, True, 'Python', 3, 2, 1]
<zip object at 0x000002CD42AA2E48>
[(1, 20), (2, 21), (3, 23), (4, 24), (5, 25)]
['ABOUT', 'CHINA', 'BEIJING']
[0, 1, 4, 9, 16, 25, 36, 49, 64, 81]
['ABOUT', 'CHINA', 'BEIJING']
[(0, 2), (1, 3), (2, 5), (3, 6), (4, 7), (5, 3), (6, 2)]
9
[{2: 6, 3: 5, 5: 2, 6: 3, 7: 4}]


相关文章
|
3月前
|
测试技术 数据处理 Python
Python列表推导式:简洁高效的数据处理利器
Python列表推导式:简洁高效的数据处理利器
225 80
|
2月前
|
测试技术 API 开发者
淘宝关键词搜索商品列表API接入指南(含Python示例)
淘宝关键词搜索商品列表API是淘宝开放平台的核心接口,支持通过关键词检索商品,适用于比价、选品、市场分析等场景。接口提供丰富的筛选与排序功能,返回结构化数据,含商品ID、标题、价格、销量等信息。开发者可使用Python调用,需注意频率限制与错误处理,建议先在沙箱环境测试。
|
2月前
|
JSON 数据挖掘 API
闲鱼商品列表API响应数据python解析
闲鱼商品列表API(Goodfish.item_list)提供标准化数据接口,支持GET请求,返回商品标题、价格、图片、卖家信息等。适用于电商比价、数据分析,支持多语言调用,附Python示例代码,便于开发者快速集成。
|
2月前
|
JSON API 数据格式
微店商品列表API响应数据python解析
微店商品列表API为开发者提供稳定高效获取商品信息的途径,支持HTTP GET/POST请求,返回JSON格式数据,含商品ID、名称、价格、库存等字段,适用于电商数据分析与展示平台搭建等场景。本文提供Python调用示例,助您快速上手。
|
3月前
|
人工智能 索引 Python
[oeasy]python094_使用python控制音符列表_midi_文件制作
本文介绍了如何使用Python控制音符列表制作MIDI文件。首先回顾了列表下标索引(正数和负数)的用法,接着通过`mido`库实现MIDI文件生成。以《两只老虎》为例,详细解析了代码逻辑:定义音高映射、构建旋律列表、创建MIDI文件框架,并将音符插入音轨。还探讨了音符时值与八度扩展的实现方法。最终生成的MIDI文件可通过不同平台播放或编辑。总结中提到,此技术可用于随机生成符合调性的旋律,同时引发对列表其他实际应用的思考。
89 5
|
3月前
|
XML JSON API
深入研究: 亚马逊 amazon商品列表API接口 Python 攻略
本内容介绍了亚马逊商品列表API接口的应用价值与操作方法。在电商数据分析驱动决策的背景下,该接口可自动化获取商品基本信息(如名称、价格、评价等),助力市场调研、竞品分析及价格监控等场景。接口通过设置搜索条件(关键词、类目、价格范围等)筛选商品列表,以GET请求方式调用,返回JSON或XML格式数据,包含商品基本信息、价格、评价、图片链接及库存状态等内容。合理使用此接口可提升运营效率、降低人力成本并及时掌握市场动态。
|
3月前
|
JSON API 开发者
深入浅出:拼多多商品列表API接口Python攻略
拼多多是中国领先的社交电商平台,为开发者提供了丰富的API接口,用于集成商品数据到第三方应用。通过Python可以轻松调用这些API获取商品列表。主要步骤包括:1) 安装必要库(如`requests`);2) 使用AppKey和AppSecret获取访问令牌;3) 调用商品列表API,传入参数如商品ID、页码等;4) 解析返回的JSON数据提取所需信息。按照此流程,开发者能够快速实现与拼多多平台的数据交互。
|
3月前
|
人工智能 前端开发 数据处理
如何将Python元组转换为列表
本文介绍了在Python中将元组转换为列表的方法。通过内置的`list()`函数,可以轻松地将一个元组转换为列表。此外,文章还提供了如何使用列表推导式和`itertools.chain()`方法将包含多个元组的列表展平为单一列表的示例。这些方法对于数据处理和转换非常实用,能够帮助开发者高效操作序列类型数据。文中附有代码实例及输出结果,便于理解与实践。
|
5月前
|
索引 Python
[oeasy]python092_eval_衡量_转化为列表
本文探讨了 Python 中 `eval` 函数的用法及其与字符串和列表之间的转换关系。通过实例分析,展示了如何使用 `eval` 将字符串转化为对应的数据类型,例如将表示列表的字符串转回列表。同时,文章深入讲解了 `eval` 的工作机制,包括根据本地和全局变量对字符串进行计算的能力。此外,还提醒了命名变量时需避免覆盖内置类名(如 `str`、`int`、`list`)的重要性,以免影响程序正常运行。最后,简要提及字符串和列表索引中负数的应用,并为读者提供了进一步学习的资源链接。
108 2

推荐镜像

更多