Python 基础——列表(list)

一.创建列表

以逗号分隔的不同数据项使用方括号括起来,即可创建列表

**普通列表

python 复制代码
>>> list1 = ['what', 'can', 'I', 'say']
>>> list2 = ["hong", "yun", "dang", "tou", "666"]
>>> number = [1, 2, 3, 4, 5]

**混合列表

python 复制代码
>>> mix = [1, 'woc', 3.234, [1, 3, 'kao']]

**空列表

python 复制代码
>>> empty = []

二.向列表添加元素

1.使用函数:append()

python 复制代码
>>> list1 = ['what', 'can', 'I', 'say']
>>> list1.append('oh man')
>>> list1
['what', 'can', 'I', 'say', 'oh man']

若再次输入俩个元素,则出现以下错误

python 复制代码
>>> list1 = ['what', 'can', 'I', 'say']
>>> list1.append('oh', 'man')
Traceback (most recent call last):
  File "<pyshell#1>", line 1, in <module>
    list1.append('oh', 'man')
TypeError: list.append() takes exactly one argument (2 given)

2.使用函数:extend()

python 复制代码
>>> list1 = ['what', 'can', 'I', 'say']
>>> list1.extend('oh', 'man')
Traceback (most recent call last):
  File "<pyshell#1>", line 1, in <module>
    list1.extend('oh', 'man')
TypeError: list.extend() takes exactly one argument (2 given)

仍然会出现错误,进行以下修改

python 复制代码
>>> list1 = ['what', 'can', 'I', 'say']
>>> list1.extend(['oh', 'man'])
>>> list1
['what', 'can', 'I', 'say', 'oh', 'man']

(以上都是将元素追加到列表的末尾)

3.使用函数:insert()

python 复制代码
>>> list1 = ['what', 'can', 'I', 'say']
>>> list1.insert(0, 'oh man')
>>> list1
['oh man', 'what', 'can', 'I', 'say']
python 复制代码
#特殊
>>> list1 = ['what', 'can', 'I', 'say']
>>> list1.insert(0, ['oh', 'man'])
>>> list1
[['oh', 'man'], 'what', 'can', 'I', 'say']

三.列表中的元素操作

1.获取元素

通过元素的索引值(index)从列表获取单个元素(列表索引值是从0开始的)

python 复制代码
>>> list1 = ['what', 'can', 'I', 'say']
>>> list1[0]
'what'

2.交换列表中的元素

python 复制代码
>>> list1 = ['what', 'can', 'I', 'say']
>>> temp = list1[0]
>>> list1[0] = list1[1]
>>> list1[1] = temp
>>> list1
['can', 'what', 'I', 'say']

3.从列表中删除元素

函数remove()

python 复制代码
>>> list1 = ['what', 'can', 'I', 'say']
>>> list1.remove('what')
>>> list1
['can', 'I', 'say']

del语句

python 复制代码
#1.可单独删除一个元素
>>> list1 = ['what', 'can', 'I', 'say']
>>> del list1[0]
>>> list1
['can', 'I', 'say']

#2.可删除一个列表
>>> list1 = ['what', 'can', 'I', 'say']
>>> del list1
>>> list1
Traceback (most recent call last):
  File "<pyshell#9>", line 1, in <module>
    list1
NameError: name 'list1' is not defined. Did you mean: 'list'?

函数pop()

python 复制代码
#1.无索引值
>>> list1 = ['what', 'can', 'I', 'say']
>>> list1.pop()
'say' #类似于栈,后进先出,返回删除的值
>>> list1
['what', 'can', 'I']

#2.有索引值
>>> list1 = ['what', 'can', 'I', 'say']
>>> name = list1.pop(2)
>>> name
'I'
>>> list1
['what', 'can', 'say']

4.列表分片(切片)slice

一次性获取多个元素

python 复制代码
>>> list1 = ['what', 'can', 'I', 'say']
>>> list1[1:2]
['can']
>>> list1[1:3]
['can', 'I'] #左闭右开
>>> list1
['what', 'can', 'I', 'say'] #原列表无任何变化

四.列表的一些操作符

比较操作符

python 复制代码
>>> list1 = [123]
>>> list2 = [234]
>>> list1 < list2
True
>>> list1 = [123, 456]
>>> lidt2 = [234, 345]
>>> list1 > lidt2
False

逻辑操作符

python 复制代码
>>> list3 = [678]
>>> (list1 < lidt2) and (lidt2 < list3)
True
>>> (list1 < lidt2) and (lidt2 == list3)
False

>>> list4 = list1 + list3 + lidt2
>>> list4
[123, 456, 678, 234, 345]

重复操作符

python 复制代码
>>> list1 = ['what', 'can']
>>> list1 * 5
['what', 'can', 'what', 'can', 'what', 'can', 'what', 'can', 'what', 'can']
>>> list1
['what', 'can']
>>> list1 *= 3
>>> list1
['what', 'can', 'what', 'can', 'what', 'can']

成员关系操作符

python 复制代码
>>> list1 = ['what', 'can', 'I', 'say']
>>> 'what'in list1
True
>>> 'oh man' not in list1
True
python 复制代码
#特殊
>>> list1 = ['what', 'can', 'I', 'say', ['oh', 'man']]
>>> 'oh' in list1
False
# 只能访问一层

>>> list1 = ['what', 'can', 'I', 'say', ['oh', 'man']]
>>> 'oh' in list1[4]
True

>>> list1 = ['what', 'can', 'I', 'say', ['oh', 'man']]
>>> list1[4][1]
'man'

五.列表类型的内置函数

由此可得到列表的内置函数

python 复制代码
>>> dir(list)
['__add__', '__class__', '__class_getitem__', '__contains__', '__delattr__', '__delitem__', '__dir__', '__doc__', '__eq__', '__format__', '__ge__', '__getattribute__', '__getitem__', '__getstate__', '__gt__', '__hash__', '__iadd__', '__imul__', '__init__', '__init_subclass__', '__iter__', '__le__', '__len__', '__lt__', '__mul__', '__ne__', '__new__', '__reduce__', '__reduce_ex__', '__repr__', '__reversed__', '__rmul__', '__setattr__', '__setitem__', '__sizeof__', '__str__', '__subclasshook__', 'append', 'clear', 'copy', 'count', 'extend', 'index', 'insert', 'pop', 'remove', 'reverse', 'sort']

count函数:元素出现的次数

python 复制代码
>>> list1 = ['what', 'can', 'what', 'can', 'what', 'can', 'what', 'can', 'what', 'can']
>>> list1.count('what')
5

index函数:返回参数在列表中的位置

python 复制代码
list1 = ['what', 'can']
list1.index('what')
0

reverse函数:反转列表

python 复制代码
>>> list1 = ['what', 'can', 'I', 'say']
>>> list1.reverse()
>>> list1
['say', 'I', 'can', 'what']

sort函数:排序

sort(reverse = True)

python 复制代码
>>> list1 = [1, 3, 2, 8, 5, 6]
>>> list1.sort()
>>> list1
[1, 2, 3, 5, 6, 8]

>>> list1.sort(reverse = True)
>>> list1
[8, 6, 5, 3, 2, 1]
相关推荐
学编程的闹钟31 分钟前
107【php手册】
学习
冷雨夜中漫步8 小时前
Python快速入门(6)——for/if/while语句
开发语言·经验分享·笔记·python
郝学胜-神的一滴8 小时前
深入解析Python字典的继承关系:从abc模块看设计之美
网络·数据结构·python·程序人生
百锦再8 小时前
Reactive编程入门:Project Reactor 深度指南
前端·javascript·python·react.js·django·前端框架·reactjs
盐焗西兰花9 小时前
鸿蒙学习实战之路-Reader Kit修改翻页方式字体大小及行间距最佳实践
学习·华为·harmonyos
QiZhang | UESTC10 小时前
学习日记day76
学习
久邦科技10 小时前
20个免费电子书下载网站,实现电子书自由(2025持续更新)
学习
喵手10 小时前
Python爬虫实战:旅游数据采集实战 - 携程&去哪儿酒店机票价格监控完整方案(附CSV导出 + SQLite持久化存储)!
爬虫·python·爬虫实战·零基础python爬虫教学·采集结果csv导出·旅游数据采集·携程/去哪儿酒店机票价格监控
2501_9449347310 小时前
高职大数据技术专业,CDA和Python认证优先考哪个?
大数据·开发语言·python
Gain_chance10 小时前
34-学习笔记尚硅谷数仓搭建-DWS层最近一日汇总表建表语句汇总
数据仓库·hive·笔记·学习·datagrip