列表

简单来说就是有序的,可变的,可包含任意对象的集合。
属于可变序列
可包含任意类型(对象)
通过下标访问元素,从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
列表的排序
  1. 从小到大排序
scores = [12,34,1,55,525,53]
scores.sort()    #从小到大,直接改变本身
print(scores)

运行结果:

[1, 12, 34, 53, 55, 525]
  1. 列表是字母时,如何排序?

按照首字母排序

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]
列表的转换
  1. 字符串转列表
  2. 元组转列表
    示例:
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]
列表的删除
  1. del 根据下标删除元素
d1 = ["孙悟空","猪八戒","沙悟净","唐僧","糖糖"]
del d1[-1]
print(d1)

运行结果:

['孙悟空', '猪八戒', '沙悟净', '唐僧']
  1. .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
序列的添加
  1. .append() 添加到列表的末尾,每次只能添加一个元素,可以是列表
a = [1,2,3]
a.append("one")
a.append([3,2,1])
print(a)  

运行结果:

[1, 2, 3, 'one', [3, 2, 1]]
  1. .extend() 拓展列表,用于插入序列
e = [1,2,3]
print(e)
e.extend(["qqq"])
print(e)

运行结果:

[1, 2, 3]
[1, 2, 3, 'qqq']
  1. .insert() 插入元素
    示例 :
#方法一
i = [1,2,3]
i.insert(0,"新插入的元素值")
print(i)
#方法二
i2 = [1,2,3]
i2[2:3] = ["新插入的元素"]
print(i2)

运行结果:

['新插入的元素值', 1, 2, 3]
[1, 2, '新插入的元素']  
序列的复制
  1. .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]
  1. 序列[:]
    示例:
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的基本使用和常用操作)相关推荐

  1. python笔记之序列(str的基本使用和常用操作)

    序列 序列:列表(list),元组(tuple),字典(dict),集合(set),str,range() 有序列表: list,tuple 无序列表: dict,set 可变序列: list,dic ...

  2. python笔记之序列(tuple的基本使用和常用操作)

    元组的基本使用和常用操作 元组:序列的一种,可包含任意对象的集合 特点: 1. 属于不可变序列 2. 可包含任意对象 3. 通过下标访问元素(从0开始) 4. 任意嵌套 5. 不可变长度 定义一个元组 ...

  3. python笔记之序列(dict的基本使用和常用操作)

    字典 字典:简单讲就是无序的,可变的,可包含任意对象的"键值对"(key:value)的集合 特点: 1. 属于可变序列 2. 可变长度 3. 任意类型 4. 任意嵌套 5. 支持 ...

  4. python笔记之序列(set的基本使用和常用操作)

    集合(set) 集合(set):无序的,可变的,可包含任意对象的集合 ,每次输出的结果顺序都是不同的 特点: 1. 属于可变序列 2. 可以包含任意类型 3. 可变长度,任意嵌套 4. 支持原位改变 ...

  5. python慕课笔记_MOOC python笔记(三) 序列容器:字符串、列表、元组

    Python Python开发 Python语言 MOOC python笔记(三) 序列容器:字符串.列表.元组 容器概念 容器是Python中的重要概念,分为有序与无序. 有序容器也称为序列类型容器 ...

  6. Python入门基础篇(四)字符串的常用操作,全面易懂,简单实用!!!

    请认真阅读哦!!! 字符串几乎是所有编程语言在项目开发过程中涉及最多的一块内容,许多地方都是用到字符串的基本操作,前面讲了列表.元组,这次就来说说字符串吧 文章目录 字符串的常用操作: 1.拼接字符串 ...

  7. 用Python轻松搞定Excel中的20个常用操作

    来源 |早起Python(ID: zaoqi-python) Excel与Python都是数据分析中常用的工具,本文将使用动态图(Excel)+代码(Python)的方式来演示这两种工具是如何实现数据 ...

  8. 用 Python 轻松搞定 Excel 中的 20 个常用操作

    来源 |早起Python(ID: zaoqi-python) Excel与Python都是数据分析中常用的工具,本文将使用动态图(Excel)+代码(Python)的方式来演示这两种工具是如何实现数据 ...

  9. c#读取excel两列数据并绘制xy曲线_用Python轻松搞定Excel中的20个常用操作

    来源 |早起Python(ID: zaoqi-python) Excel与Python都是数据分析中常用的工具,本文将使用动态图(Excel)+代码(Python)的方式来演示这两种工具是如何实现数据 ...

最新文章

  1. HDU 1090 A+B for Input-Output Practice (II)
  2. 制作新版STC单片机WiFi下载器
  3. Makefile详解(一)-介绍及总述
  4. 解决Ubuntu与Windows之间无法复制粘贴问题
  5. python外星人入侵飞船上下移动_python外星人入侵游戏左移正常,右移屏幕上不显示,但实际上已经移动了?...
  6. python chm制作_生成chm文档的方法
  7. PHP 面向对象:类和对象
  8. 计算机组成原理填空题目,(计算机组成原理练习题.doc
  9. tomcat线程循环异常终止_资深架构师带你从JVM层面了解线程的启动和停止
  10. 【C++ STL】priority_queue自定义排序函数
  11. 关于开发入门的一些事儿
  12. iOS - UIRefreshControl 刷新数据
  13. VB 二进制数组与十六进制字符串相互转换
  14. Nginx为什么会比Apache Httpd高效
  15. flash视频的param属性解释
  16. vscode php格式化插件
  17. 泰坦尼克号幸存预测项目
  18. 例行检查软件列表,突然发现不明sangforvnc应用
  19. 【Codeforces 538 H】Summer Dichotomy(二分图染色)
  20. 请问这个问题怎么解决呀?打开什么也用不了

热门文章

  1. 微软或在开发自己的 CPU、TikTok 发布电视版本、索尼撤下《赛博朋克2077》并为玩家退款|Decode the Week...
  2. 【线上分享】移动音视频SDK工程实践之数据采集和处理
  3. 端侧AI:高隐私、高可靠的智能个性化服务
  4. 基于Vue-SSR优化方案归纳总结
  5. 大牛书单 | 系统架构方向好书推荐
  6. librtmp实时消息传输协议(RTMP)库代码浅析
  7. 爬虫 spider07——爬取腾讯娱乐新闻
  8. leetcode 822. Card Flipping Game | 822. 翻转卡片游戏(Java)
  9. 数据结构与算法(二):堆,大根堆,小根堆,堆排序,比较器详解
  10. ZooKeeper实战(三):ZooKeeper实现分布式配置中心、分布式锁、Reactive响应式模型