python笔记之序列(list的基本使用和常用操作)
列表
简单来说就是有序的,可变的,可包含任意对象的集合。
属于可变序列
可包含任意类型(对象)
通过下标访问元素,从0开始
长度可变,任意嵌套
支持原位改变,可以动态的收缩或者扩展大小
列表的基本使用
none_list = [] #定义一个空列表
list1 = [1,2,3,4,5] #为列表赋值单一的类型
list2 = ["a",1,3.1415926,True] #为列表赋值不同的类型
print(type(list1)) #输出 list1 的类型
print(type(list2)) #输出 list2 的类型
print(list1[0]) #通过下标访问
print(list2[1:])
print(list2[:3])
print(list2[2:3])
print(list2[-1])
print(list2[-2])
print(list2[-4])
运行结果:
<class 'list'>
<class 'list'>
1
[1, 3.1415926, True]
['a', 1, 3.1415926]
[3.1415926]
True
3.1415926
a
特点1:长度可变
给原列表添加一个新的元素
list1 = [1,2,3]
print(list1)
list1.append(4)
print(list1)
运行结果:
[1, 2, 3]
[1, 2, 3, 4]
特点2:支持原位改变
将列表的第一个元素替换为新的元素
list1 = [1,2,3]
list1[0] = 99
print(list1)
运行结果:
[99, 2, 3]
特点3:任意嵌套
列表里可以接着嵌套列表
list3 = [0,1,2,"str",[11,22,33],[000,111,222]]
print(list3) #输出嵌套列表
print(list3[4][2]) #输出嵌套列表的第4个元素里的第2个元素
运行结果:
[0, 1, 2, 'str', [11, 22, 33], [0, 111, 222]]33
##### 遍历列表中的元素
方法一:
python
list1 = [2,3,4,5,6]
for i in range(0,len(list1)):
print(list1[i])
方法二:
list1 = [2,3,4,5,6]
for j in list1 :print(j)
运行结果:
2
3
4
5
6
遍历嵌套列表
1.有规律都是列表时
list4 = [[1,2,3],[11,22,33],["a","b","c"]]
for a in list4:print(a)for item in a:print(item)
运行结果:
[1, 2, 3]
1
2
3
[11, 22, 33]
11
22
33
['a', 'b', 'c']
a
b
c
2.无规律,有列表也有其他字符时
list1 = ["a",["bb","cc"],"1","2",["q","w","e"]]
for b in list1:print(b)if isinstance(b,list): # true 元素为listfor item in b:print(item)
运行结果:
a
['bb', 'cc']
bb
cc
1
2
['q', 'w', 'e']
q
w
e
列表的排序
- 从小到大排序
scores = [12,34,1,55,525,53]
scores.sort() #从小到大,直接改变本身
print(scores)
运行结果:
[1, 12, 34, 53, 55, 525]
- 列表是字母时,如何排序?
按照首字母排序
names = ["aom","cike","zoin","you"]
names.sort() #按照开头字母排序
print(names)
运行结果:
['aom', 'cike', 'you', 'zoin']
按照最后一个字母来排序
names = ["aom","cike","zoin","you"]
names.sort(key=lambda a:a[-1])
print(names)
运行结果:
['cike', 'aom', 'zoin', 'you']
倒置列表
先排序,在倒置
示例:
scores = ["aom","cike","zoin","you"]
scores.sort(reverse=True) #相当于scores.sort() scores.reverse()
print(scores)
运行结果:
['zoin', 'you', 'cike', 'aom']
sorted() 函数
功能:从小到大进行排序,会返回一个新的结果,列表本身不会改变
示例:
a = [12,23,1,44]
print(sorted(a)) #从小到大进行排序,会返回一个新的结果,列表本身不会改变
print(a)
运行结果:
[1, 12, 23, 44]
[12, 23, 1, 44]
列表的转换
- 字符串转列表
- 元组转列表
示例:
str1 = "abc"
print(str1)
print(list(str1)) # 字符串转列表
tuple1 = (1,"2","3")
print(list(tuple1)) #元组转列表
运行结果:
['a', 'b', 'c']
[1, '2', '3']
判断元素是否在序列之内
如果在返回True 不在返回False
示例:
a = list(range(0,7))
b = ["tom","zhangsan","马小跳"]
print(1 in a )
print("马小跳" in b )
print(1 not in a )
运行结果:
True
True
False
检测序列中某个元素第一次出现的位置
示例: 查找元素4第一次出现的位置
d = [1,3,4,3,4,5,3]
print(d.index(4))
运行结果:
2
统计某个元素出现的次数
示例:统计元素3出现的次数
d = [1,3,4,3,4,5,3]
print(d.count(3))
运行结果:
3
列表的修改
注意:修改的结果是直接作用于本身的
l = list(range(1,11))
print(l)
#改变某个元素的值
l[0] = 99
print(l)
#改变范围元素的值
l[0:5] = [99]
print(l)
#改变步长范围的值
l1 = list(range(1,11))
l1[::2] = [99,99,99,99,99]
print(l1)
运行结果:
[1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
[99, 2, 3, 4, 5, 6, 7, 8, 9, 10]
[99, 6, 7, 8, 9, 10]
[99, 2, 99, 4, 99, 6, 99, 8, 99, 10]
列表的删除
- del 根据下标删除元素
d1 = ["孙悟空","猪八戒","沙悟净","唐僧","糖糖"]
del d1[-1]
print(d1)
运行结果:
['孙悟空', '猪八戒', '沙悟净', '唐僧']
- .remove 根据元素的值删除元素,如果元素重复,删除第一个匹配到的
r1 = list(range(0,11))
print(r1)
r1.remove(9)
print(r1) r2 = [1,2,3,4,4,5,5,4,5]
print(r2)
r2.remove(5)
print(r2)
运行结果:
[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
[0, 1, 2, 3, 4, 5, 6, 7, 8, 10]
[1, 2, 3, 4, 4, 5, 5, 4, 5]
[1, 2, 3, 4, 4, 5, 4, 5]
列表的清空
方法一:
python
x = [1,2,3,4,5]
print(x)
x.clear()
print(x)
运行结果:
[1, 2, 3, 4, 5]
[]
方法二:
y = [1,2,3]y = []print(y)
运行结果 :
[]
检索并删除特定的元素
示例:
p = [5,6,3,45,63]
print(p)
p.pop() #不指定,默认删除最后一个
print(p)
p.pop(0) #从指定的位置开始删除
print(p)
delp1 = p.pop() #可以把删除的元素,拿出来赋给一个新的变量
print(delp1)
运行结果:
[5, 6, 3, 45, 63]
[5, 6, 3, 45]
[6, 3, 45]
45
序列的添加
- .append() 添加到列表的末尾,每次只能添加一个元素,可以是列表
a = [1,2,3]
a.append("one")
a.append([3,2,1])
print(a)
运行结果:
[1, 2, 3, 'one', [3, 2, 1]]
- .extend() 拓展列表,用于插入序列
e = [1,2,3]
print(e)
e.extend(["qqq"])
print(e)
运行结果:
[1, 2, 3]
[1, 2, 3, 'qqq']
- .insert() 插入元素
示例 :
#方法一
i = [1,2,3]
i.insert(0,"新插入的元素值")
print(i)
#方法二
i2 = [1,2,3]
i2[2:3] = ["新插入的元素"]
print(i2)
运行结果:
['新插入的元素值', 1, 2, 3]
[1, 2, '新插入的元素']
序列的复制
- .copy() 复制
示例:
c3 = [0,1,2,3,4,5,6,7,8,9,10]
c4 = c3.copy()
c4[1] = 99
print(c3)
print(c4)
运行结果:
[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
[0, 99, 2, 3, 4, 5, 6, 7, 8, 9, 10]
- 序列[:]
示例:
c3 = [0,1,2,3,4,5,6,7,8,9,10]
c5 = c3[:]
c5[2] = 99
print(c3)
print(c5)
运行结果:
[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
[0, 1, 99, 3, 4, 5, 6, 7, 8, 9, 10]
python笔记之序列(list的基本使用和常用操作)相关推荐
- python笔记之序列(str的基本使用和常用操作)
序列 序列:列表(list),元组(tuple),字典(dict),集合(set),str,range() 有序列表: list,tuple 无序列表: dict,set 可变序列: list,dic ...
- python笔记之序列(tuple的基本使用和常用操作)
元组的基本使用和常用操作 元组:序列的一种,可包含任意对象的集合 特点: 1. 属于不可变序列 2. 可包含任意对象 3. 通过下标访问元素(从0开始) 4. 任意嵌套 5. 不可变长度 定义一个元组 ...
- python笔记之序列(dict的基本使用和常用操作)
字典 字典:简单讲就是无序的,可变的,可包含任意对象的"键值对"(key:value)的集合 特点: 1. 属于可变序列 2. 可变长度 3. 任意类型 4. 任意嵌套 5. 支持 ...
- python笔记之序列(set的基本使用和常用操作)
集合(set) 集合(set):无序的,可变的,可包含任意对象的集合 ,每次输出的结果顺序都是不同的 特点: 1. 属于可变序列 2. 可以包含任意类型 3. 可变长度,任意嵌套 4. 支持原位改变 ...
- python慕课笔记_MOOC python笔记(三) 序列容器:字符串、列表、元组
Python Python开发 Python语言 MOOC python笔记(三) 序列容器:字符串.列表.元组 容器概念 容器是Python中的重要概念,分为有序与无序. 有序容器也称为序列类型容器 ...
- Python入门基础篇(四)字符串的常用操作,全面易懂,简单实用!!!
请认真阅读哦!!! 字符串几乎是所有编程语言在项目开发过程中涉及最多的一块内容,许多地方都是用到字符串的基本操作,前面讲了列表.元组,这次就来说说字符串吧 文章目录 字符串的常用操作: 1.拼接字符串 ...
- 用Python轻松搞定Excel中的20个常用操作
来源 |早起Python(ID: zaoqi-python) Excel与Python都是数据分析中常用的工具,本文将使用动态图(Excel)+代码(Python)的方式来演示这两种工具是如何实现数据 ...
- 用 Python 轻松搞定 Excel 中的 20 个常用操作
来源 |早起Python(ID: zaoqi-python) Excel与Python都是数据分析中常用的工具,本文将使用动态图(Excel)+代码(Python)的方式来演示这两种工具是如何实现数据 ...
- c#读取excel两列数据并绘制xy曲线_用Python轻松搞定Excel中的20个常用操作
来源 |早起Python(ID: zaoqi-python) Excel与Python都是数据分析中常用的工具,本文将使用动态图(Excel)+代码(Python)的方式来演示这两种工具是如何实现数据 ...
最新文章
- HDU 1090 A+B for Input-Output Practice (II)
- 制作新版STC单片机WiFi下载器
- Makefile详解(一)-介绍及总述
- 解决Ubuntu与Windows之间无法复制粘贴问题
- python外星人入侵飞船上下移动_python外星人入侵游戏左移正常,右移屏幕上不显示,但实际上已经移动了?...
- python chm制作_生成chm文档的方法
- PHP 面向对象:类和对象
- 计算机组成原理填空题目,(计算机组成原理练习题.doc
- tomcat线程循环异常终止_资深架构师带你从JVM层面了解线程的启动和停止
- 【C++ STL】priority_queue自定义排序函数
- 关于开发入门的一些事儿
- iOS - UIRefreshControl		刷新数据
- VB 二进制数组与十六进制字符串相互转换
- Nginx为什么会比Apache Httpd高效
- flash视频的param属性解释
- vscode php格式化插件
- 泰坦尼克号幸存预测项目
- 例行检查软件列表,突然发现不明sangforvnc应用
- 【Codeforces 538 H】Summer Dichotomy(二分图染色)
- 请问这个问题怎么解决呀?打开什么也用不了
热门文章
- 微软或在开发自己的 CPU、TikTok 发布电视版本、索尼撤下《赛博朋克2077》并为玩家退款|Decode the Week...
- 【线上分享】移动音视频SDK工程实践之数据采集和处理
- 端侧AI:高隐私、高可靠的智能个性化服务
- 基于Vue-SSR优化方案归纳总结
- 大牛书单 | 系统架构方向好书推荐
- librtmp实时消息传输协议(RTMP)库代码浅析
- 爬虫 spider07——爬取腾讯娱乐新闻
- leetcode 822. Card Flipping Game | 822. 翻转卡片游戏(Java)
- 数据结构与算法(二):堆,大根堆,小根堆,堆排序,比较器详解
- ZooKeeper实战(三):ZooKeeper实现分布式配置中心、分布式锁、Reactive响应式模型