文章详情

短信预约-IT技能 免费直播动态提醒

请输入下面的图形验证码

提交验证

短信预约提醒成功

Python--列表

2023-10-02 18:48

关注

Python--列表

一、列表的创建

列表使用一对中括号“[]”,里面可以存放数值、字符串、元组、字典、集合等其他数据类型。

1、使用赋值运算符创建列表

_list = [1, 'hello', {1,2}, (1, 2), {'a' : 3}]print(_list)

输出:

[1, 'hello', {1, 2}, (1, 2), {'a': 3}]

2、使用list()函数创建列表

list()函数可以将其他类型的数据转化成列表

例如:将字符串转化成列表

_list = list('hello')print(_list)

输出:

['h', 'e', 'l', 'l', 'o']

3、使用列表推导式快速创建列表

1)、生成列表

格式:list = [Expression for var in range]
list:生成的列表名
Expression:表达式,用于计算新列表的元素
var:循环变量
range:采用range()函数生成的range对象

例如:生成20以内的偶数

number = [i * 2 for i in range(1, 10)]print("生成的数:", number)

输出:

生成的列表: [2, 4, 6, 8, 10, 12, 14, 16, 18]

2)、从列表中筛选符合条件的元素组成新列表

格式:new_list = [Expression for var in list if condition]
new_list :新生成的列表名
Expression:用于计算新列表的表达式
var:变量,值为后面列表的每个元素值
list:用于生成新列表的原列表
condition:条件表达式,用于指定筛选条件

例如:

old_list = [99, 88, 89, 100, 78, 76, 56, 82]new_list = [x for x in old_list if x > 85]print("生成的列表:", new_list) #新列表中的数都是大于85的

输出:

生成的列表: [99, 88, 89, 100]

二、访问列表元素

1、使用索引获取列表元素

_list = [1, 2, 3, 4]print(_list[2]) #获取索引值为2的元素

输出:

3

2、使用for循环遍历列表
格式:

for item in list_name:    #对列表元素要做的操作

例如:

_list = [1, 2, 3, 4]for i in _list:    print(i) #打印元素

输出:

1234

3、使用for循环和enumerate()函数
格式:

#输出index和itemfor index, item in enumerate(list_name):    #对index和item进行的操作

例如:

land_are = ['俄罗斯', '加拿大', '中国']for index, item in enumerate(land_are):    print(index + 1, item)

输出:

1 俄罗斯2 加拿大3 中国

三、列表的增、删、查、改操作

1、添加元素

1)、使用append()函数添加元素

格式:list_name.append(obj)

list_name:列表名
obj:要添加的元素,可以是任何类型的数据

land_are = ['俄罗斯', '加拿大', '中国']land_are.append('美国') #添加元素for index, item in enumerate(land_are):    print(index + 1, item)

输出:

1 俄罗斯2 加拿大3 中国4 美国

通过例子可以看到,使用append()添加元素时是在列表的末尾添加的。append()只能在列表的末尾添加元素。

2)、使用insert()函数添加元素

格式:list_name.insert(index, obj)

list_name:列表名
index:要添加元素的插入位置
obj:要添加的元素,可以是任何类型的数据

例如:

land_are = ['俄罗斯', '中国']land_are.insert(1, '加拿大') #在索引为1的位置添加元素for index, item in enumerate(land_are):    print(index + 1, item)

输出:

1 俄罗斯2 加拿大3 中国

通过例子可以看到,使用insert()可以在列表的任意位置添加元素。另外可以看到如果在中间位置添加元素时,会导致其他元素发生位置变化,这需要一定的时间开销。如果列表中数据比较多的时候,应尽量避免使用insert()添加元素。

3)、使用extend()函数添加元素

格式:list_name.extend(sequence)

list_name:原列表
sequence:要添加的列表

land_are = ['俄罗斯', '加拿大']land_are1 = ['中国', '美国']land_are.extend(land_are1) #将land_are1列表添加到land_are列表中for item in land_are:    print(item)

输出:

俄罗斯加拿大中国美国

2、删除元素

1)、使用del语句,根据元素的索引删除

例如:

land_are = ['俄罗斯', '加拿大', '中国', '美国']del land_are[3]for item in land_are:    print(item)

输出:

俄罗斯加拿大中国

2)、根据元素值删除
使用remove(元素值)删除对象

格式:list_name.remove(元素值)

land_are = ['俄罗斯', '加拿大', '中国', '美国']land_are.remove('美国')for item in land_are:    print(item)

输出:

俄罗斯加拿大中国

3)、使用pop()删除

格式:list.pop([index=-1])
移除列表中的一个元素(默认最后一个元素),并且返回该元素的值

land_are = ['A', 'B', 'C']land_are.pop()print(land_are)

输出:

['A', 'B']

4)、list.clear()删除所有元素

land_are = ['A', 'B', 'C']land_are.clear()print(land_are)

输出:

[]

3、查找元素

1)、使用in判断某个元素是否在列表中

in关键字通常和if关键字搭配使用。

land_are = ['俄罗斯', '加拿大', '中国', '美国']if '美国' in land_are:    land_are.remove('美国')

2)、使用not in判断某个元素是否在列表中

not in关键字通常和if关键字搭配使用。

land_are = ['俄罗斯', '加拿大', '中国', '美国']if '澳大利亚' not in land_are:    land_are.append('澳大利亚')

3)、使用count()统计某个元素在列表中出现的次数

格式:list_name.count(obj)
返回值:若obj在列表中,则返回obj在列表中出现的次数;否则,返回0

land_are = ['俄罗斯', '加拿大', '中国', '美国']counter =  land_are.count('加拿大')print(counter)

输出:

1

4)、使用index()查找元素

格式:list_name.index(obj)
返回值:若obj在列表中,则返回obj在列表中出现的位置(索引);否则,抛出异常

land_are = ['俄罗斯', '加拿大', '中国']counter =  land_are.index('中国')print(counter)

输出:

2
land_are = ['俄罗斯', '加拿大', '中国']counter =  land_are.index('澳大利亚')print(counter)

输出:

ValueError: '澳大利亚' is not in list

4、修改元素

想要修改某个元素时,通过索引获取该元素,然后对其重新赋值。

land_are = ['A', 'B', 'C']land_are[1] = 'F' #将第二个元素修改print(land_are)

输出:

['A', 'F', 'C']

四、列表的其他操作

在这里插入图片描述

来源地址:https://blog.csdn.net/weixin_42704090/article/details/131288702

阅读原文内容投诉

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

软考中级精品资料免费领

  • 历年真题答案解析
  • 备考技巧名师总结
  • 高频考点精准押题
  • 2024年上半年信息系统项目管理师第二批次真题及答案解析(完整版)

    难度     807人已做
    查看
  • 【考后总结】2024年5月26日信息系统项目管理师第2批次考情分析

    难度     351人已做
    查看
  • 【考后总结】2024年5月25日信息系统项目管理师第1批次考情分析

    难度     314人已做
    查看
  • 2024年上半年软考高项第一、二批次真题考点汇总(完整版)

    难度     433人已做
    查看
  • 2024年上半年系统架构设计师考试综合知识真题

    难度     221人已做
    查看

相关文章

发现更多好内容

猜你喜欢

AI推送时光机
位置:首页-资讯-后端开发
咦!没有更多了?去看看其它编程学习网 内容吧
首页课程
资料下载
问答资讯