所谓序列,指的是一块可以存放多个值的连续内存空间,可以通过每个值所在的编号(索引)去访问他们

目录

  • 列表(可变序列)
  • 元组(不可变序列)
  • 字符串(不可变)
    • 转义
  • 字符串拼接

列表(可变序列)

列表 方法 描述
append 将元素增加到末尾
insert 添加到指定位置
extend 将序列中的每个元素追加到末尾(可以添加多个元素)
pop 不带参数弹出最后一个元素、带参数指定下标值
remove 移除指定的元素
clear 删除列表中的所有值
li[0] = ‘list’
index 在列表中从左至右查找指定元素,找到了返回改值的下标
count 计算列表中指定元素出现的次数
其他方法 copy 返回一个改列表的复制
reverse 对列表中的元素进行反向排列
sort 对列表中的元素进行从小到大的排列

1、创建

①用“=”直接将一个列表赋值给变量

list() 函数

#方法一
>>> a_list = ['a','b','c','d']
>>> a_list
['a','b','c','d']#方法二
>>> a_list = list(('a','b','c','d'))
>>> a_list
['a','b','c','d']

2、增

①直接用“+”运算符实现

append() 将元素追加到末尾

insert(索引位置,插入元素)添加到指定的位置

extend(可迭代对象) 将序列中的每个元素追加到末尾

#方法一
>>> a_list
['a', 'b', 'c', 'd']
>>> a_list = a_list + ['e']
>>> a_list
['a', 'b', 'c', 'd', 'e']#方法二
>>> a_list.append([9,8])
>>> a_list
['a', 'b', 'c', 'd', 'e', 9, 8]#方法三
>>> a_list.insert(2,'s')
>>> a_list
['a', 'b', 's', 'c', 'd', 'e', 9, 8]#方法四
>>> b_list
[1, 2, 3]
>>> a_list.extend(b_list)
>>> a_list
['a', 'b', 's', 'c', 'd', 'e', 9, 1, 2, 3]

3、删

del删除指定位置上的元素 也可以删除整个列表(不是列表独有的方法)

pop不带参数删除最后一个元素、带参数删除指定位置的值

remove移除指定的元素(没有返回值)

clear删除列表中的所有值`

#方法一
>>> a_list
['a', 'b', 's', 'c', 'd', 'e', 9, 1, 2, 3]
>>> del a_list[2]  #删除第二个元素
>>> a_list
['a', 'b', 'c', 'd', 'e', 9, 1, 2, 3]#方法二
>>> a_list
['a', 'b', 'c', 'd', 'e', 9, 1, 2, 3]
>>> a_list.pop()  #删除最后一个元素
3
>>> a_list
['a', 'b', 'c', 'd', 'e', 9, 1, 2]
>>> a_list.pop(5)  #删除位置为5的元素
9
>>> a_list
['a', 'b', 'c', 'd', 'e', 1, 2]
>>> del a_list[3:,6]  #切片删除
>>> a_list
['a', 'b', 'c', 2]#方法三
>>> a_list
['a', 'b', 'c', 'd', 'e', 1, 2]
>>> a_list.remove('e')
>>> a_list
['a', 'b', 'c', 'd', 1, 2]#方法四
>>> a_list.clear()
>>> a_list
[]

4、改

①重新重新赋值

>>> li = [5,4,3,2,1]
>>> li[0]='python'
>>> li
['python', 4, 3, 2, 1]

5、查

index(元素,起始值,终止值)在列表中从左至右查找指定元素,找到了放回该值的下标

count计算列表中指定元素出现的次数

③直接指定位置索引查找

#方法一
>>> li
[5, 4, 3, 2, 1]
>>> li.index(4)
1
>>> li.index(4,0,3)
1#方法二
>>> li=[1,2,3,3,4]
>>> li.count(3)
2#方法三
>>> li=[1,2,3,3,4]
>>> li[1]
2

6、切片

格式: list[起始值,终止值,步长]

作用:可以原地修改列表内容,列表的增、删、改、查以及元素替换等操作都可以用切片来实现,并且不印象列表对象内存地址。

>>> l = [3,4,5,6,7,8,9,11,12,13,14]
>>> l[::]  #查找所有元素
[3, 4, 5, 6, 7, 8, 9, 11, 12, 13, 14]
>>> l[::-1] #步长为-1,即从末位置往起始位置查找
[14, 13, 12, 11, 9, 8, 7, 6, 5, 4, 3]
>>> l[::2]  #从起始位置到末位置 步长为2
[3, 5, 7, 9, 12, 14]
>>> l[1::2] #从1位置到末位置 步长为2
[4, 6, 8, 11, 13]
>>> l[3::]  #从3位置到末位置 步长为1
[6, 7, 8, 9, 11, 12, 13, 14]
>>> l[3:6]   #从3位置到6位置
[6, 7, 8]
>>> l[3:6:2]   #从起始位置到末位置 步长为2
[6, 8]
>>> l[0:100:1]
[3, 4, 5, 6, 7, 8, 9, 11, 12, 13, 14]
>>> l[100:]
[]

7、其他方法

1、copy复制一个新的列表

>>> li=[1,2,3,3,4]
>>> a = li.copy()
>>> a
[1, 2, 3, 3, 4]

2、reverse对列表中的元素进行反向排列

>>>li = [1,2,3]
>>>li
[1,2,3]
>>>li.reverse()# 不会产生新的列表
>>>li
[3,2,1]

3、sort默认升序排序(同类型)ASCII码

>>>li=[3,5,1]
>>>li.sort()
>>>li
[1,3,5]>>>li=[3,5,1]
>>>li.sort(reverse = True) #降序排序
>>>li
[1,3,5]>>> li = ['f','b','e','w','a']
>>> li.sort()
>>> li
['a', 'b', 'e', 'f', 'w']>>> li = ['fd','cb','we','wc','ab']
>>> li.sort()
>>> li
['ab', 'cb', 'fd', 'wc', 'we']

4、dir 查看所有方法 help 查看帮助文档

list1 = [1,2,3]
print(dir(list1))  #查看list1列表所有的函数方法

拓展

1、Python列表脚本操作符
列表对 + 和 * 的操作符与字符串相似。+ 号用于组合列表,* 号用于重复列表。

示例:

python表达式 结果 描述
len([1, 2, 3]) 3 列表长度
[1, 2, 3] + [4, 5, 6] [1, 2, 3, 4, 5, 6] 列表组合
[‘Hi!’] * 4 [‘Hi!’, ‘Hi!’, ‘Hi!’, ‘Hi!’] 元素重复
3 in [1, 2, 3] True 元素是否存在于列表中
for x in [1, 2, 3]: print x 1 2 3 迭代

2、python包含的函数

序号 函数
1 cmp(list1, list2)] 比较两个列表的元素
2 len(list) 列表元素个数
3 max(list) 返回列表元素最大值
4 min(list) 返回列表元素最小值
5 list(seq) 将元组转换为列表

元组(不可变序列)

tuple 函数方法 描述
count 查数量
index 查第一个元素
del 删除整个元组
连接组合 a+b形式 两个元组直接相加

1、创建

用“=” 将一个元组赋值给变量

>>> tup1 = (1,2,3)
>>> tup1
(1, 2, 3)

注意:元组中只包含一个元素时,需要在元素后面添加逗号 例如:tup1 = (50,)

2、查

count() 计算元素出现个数

index(元素,起始值,终止值) 查找元素的位置

>>> tup1 = (1,2,3,2,2)
>>> tup1.count(2)
3>>> tup1
(1, 2, 3)
>>> tup1.index(1)
0

3、连接组合

>>>a=(1,2,3)
>>>b=(3,4,5)
>>>a+b
(1,2,3,4,5)

4、删

del:删除整个元祖

>>>del a
>>>a
name 'a' not defined

5、切片

切片操作与列表一致,这里就不多说了

>>> tup1 = (1,2,3,2,2)
>>> tup1[1:3]
(2, 3)

拓展
1、元组运算符
与字符串一样,元组之间可以使用 + 号和 * 号进行运算。这就意味着他们可以组合和复制,运算后会生成一个新的元组。

python表达式 结果 描述
len((1, 2, 3)) 3 计算元素个数
(1, 2, 3) + (4, 5, 6) (1, 2, 3, 4, 5, 6) 连接
(‘Hi!’,) * 4 (‘Hi!’, ‘Hi!’, ‘Hi!’, ‘Hi!,’) 复制
3 in (1, 2, 3) True 元素是否存在
for x in (1, 2, 3): print x 1 2 3 迭代

2、元组内置函数
Python元组包含了以下内置函数

序号 函数
1 cmp(tuple1, tuple2)] 比较两个元组的元素
2 len(tuple) 计算元组元素个数
3 max(tuple) 返回元组元素最大值
4 min(tuple) 返回元组元素最小值
5 list(seq) 将列表转换为元组

字符串(不可变)

str 函数方法 描述
count 计算出现了多少次
find 查找一端数据
index 返回指定的下标
isdigit 判断一个字符串里的数据是不是都是数字
isalpha 判断每个元素是不是字母
endswith 比较结尾的元素是否相同
startswith 比较开头的元素是否相同
islower 判断字符串中的值是否全部是小写
isupper 判断字符串中的值是否全部是大写
replace
upper 把所有的字母转换成大写
lower 把所有字母转换成小写
strip (lstrip,rstrip) 除去空格带参数,去除指定元素的开头和结尾的相同的元素
capitalize
title
split 划分字符串
join
字符串拼接

1、查

count计算出现了多少次

>>> str1 = 'hello world'
>>> str1.count('l')
3

find(元素,起始值,终止值) 如果包含子字符串返回开始的索引值,否则返回-1。

>>> str1 = 'hello world'
>>> str1.find('ll')
2
>>> str1.find('a')
-1
  • index、返回指定值的下标,没有会报错
  • isdigit、判断一个字符串里的数据是不是都是数字
  • isalpha、判断每个元素是不是字母
  • endswith、比较结尾的元素是否相同
  • startswith、比较开头的元素是否相同
  • islower、判断字符串中的值是否全是小写的
  • isupper、判断字符串中的值是否全是大写的

2、改

capitalize把第一个字母转换成大写

>>>a= "hello world"
>>> a.capitalize()
'Hello world'

title每个单词的首字母进行大写转换

>>> a= "hello world"
>>> a.title()
'Hello World'

split没有参数默认以空格来切割、有参数

>>>b.split()# 默认为切割  特别常用 爬虫
>>>b = 'hello world python'
>>>b.split('o')
['hell', ' w', 'rld pyth', 'n']

replace替换把对象中有的值放第一个参数中替换成第二个参数

str.replace(old, new[, max])

old -- 将被替换的子字符串。
new -- 新字符串,用于替换old子字符串。
max -- 可选字符串, 替换不超过 max 次(默认是全部,可以指定次数)
>>> str2 = "hello world"
>>> str3 = str2.replace('h', 'H')  #如果不赋值给str3就会出错
>>> str3
'Hello world'
  • upper、把所有的字母转成大写
  • ​ lower、把所有的字母转成大写
  • ​ strip (lstrip,rstrip)、去除左右两边的空格(去左,去右),带参数去除指定元素的开头和结尾的相同的元素
>>>str = "00000003210Runoob01230000000";
>>>str.strip( '0' );  # 去除首尾字符 0
>>>a = '  hello python  '
>>> a.strip()  # 去除首尾空格
'hello python'>>>str2 = "Runoob";
>>>str2.strip("R");
'unoob'#编译器会去除两端所有相应的字符,直到没有匹配的字符。
>>>dodo = "say hello say boy saaayaaas"
>>>print(dodo.strip('say') ) hello say boy

3 增

字符串拼接

转义

str的转义
\n 换行
\t 水平制表符
\b 退格
\r 回车,当前位置移到本行开头
\\ 代表反斜杠 \
代表一个单引号,同样的 “ 等符号也可以这么输出
\0 代表一个空字符
\a 系统提示音

交互式模式:是什么就显示什么

print:尽量展示为人类可以看懂得数据(调用__ str __)

字符前面加上   \   ,字符就不再表示字符本身的意思,表示ASCII码中不能显示字符,常见有下:\n 换行\t    水平制表符   Tab 四个空格\b  退格  \r  回车,当前位置移到本行开头\\  代表反斜杠  \\’  代表一个单引号,同样的 “ ?   等符号也可以这么输出\0    代表一个空字符\a   系统提示音
在python中如果要去掉字符串的转义,只需要在字符串前面加上 r    r'abc\tabc'>>>a = "abc\babc"
>>>print(a)
"ababc"
>>>print(r"abc\babc")
"abc\babc"

字符串方法本身不会变,但是我们可以拿来赋值拿来用就很简单了

字符串拼接

1、+

>>> a = 'abc'
>>> b = 'def'
>>> a+b
'abcdef'

2、%s

>>> name = 'wc'
>>> age = 18
>>> print('你好%s,你%s岁' %(name,age))
你好wc,你18岁

3、join

>>>"-".join("hello")
'h-e-l-l-o'
>>>"-".join(['hello','world'])
'hello-world'

4、format

>>>'{} {} {}'.format('I','love','you')
'I love you'
>>>'{0} {1} {2}'.format('a','b','c')
'a b c'
>>>'{n1} {n2} {n3}'.format(n1='name',n2='age',n3='sex')
'name age sex'
>>>'{}-{}-{}'.format('I','love','you')
'I-love-you'

python学习笔记(三)—— 序列类型及方法(列表、元组、字符串)相关推荐

  1. python基础之序列类型的方法——列表元组

    Python微信订餐小程序课程视频 https://edu.csdn.net/course/detail/36074 Python实战量化交易理财系统 https://edu.csdn.net/cou ...

  2. Python学习笔记三之编程练习:循环、迭代器与函数

    Python学习笔记三之编程练习 1. 编程第一步 # 求解斐波纳契数列 #/user/bin/python3#Fibonacci series:斐波那契数列 #两个元素的总和确定了下一个数 a,b= ...

  3. Python学习笔记:Day 12 编写日志列表页

    前言 最近在学习深度学习,已经跑出了几个模型,但Pyhton的基础不够扎实,因此,开始补习Python了,大家都推荐廖雪峰的课程,因此,开始了学习,但光学有没有用,还要和大家讨论一下,因此, 写下这些 ...

  4. [读书笔记]C#学习笔记三: C#类型详解..

    前言 这次分享的主要内容有五个, 分别是值类型和引用类型, 装箱与拆箱,常量与变量,运算符重载,static字段和static构造函数. 后期的分享会针对于C#2.0 3.0 4.0 等新特性进行. ...

  5. 【懒懒的Python学习笔记三】

    在上一章中,我们学习了如何创建列表.访问列表元素和简单的列表排序.那么在本章中,我们将进一步学习如何遍历整个列表和对列表更多的操作. 一.遍历列表 我们经常需要遍历整个列表,对每个元素执行相同的操作, ...

  6. python学习笔记之序列,内含列表和元组的常用方法

    列表.元组和字符串的共同点: 都可以通过索引得到每一个元素 默认索引值总是从0开始 可以通过分片的方法得到一个范围内的元素的集合 有很多共同的操作符(重复操作符.拼接操作符.成员关系操作符) 列表和元 ...

  7. Python学习笔记三

    参考教程:廖雪峰官网https://www.liaoxuefeng.com/wiki/0014316089557264a6b348958f449949df42a6d3a2e542c000 一.函数的定 ...

  8. Python学习笔记三(文件操作、函数)

    一.文件处理 1.文件打开模式 打开文本的模式,默认添加t,需根据写入或读取编码情况添加encoding参数. r   只读模式,默认模式,文件必须存在,不能存在则报异常. w  只写模式,若文件不存 ...

  9. Python学习笔记:序列之字符串

    目录 一.Python中的序列 1.访问模式 2.序列相关操作 (1)标准类型运算符

最新文章

  1. linux设置ulimit值永久生效
  2. Linux服务笔记之二:SSH远程登录
  3. C#字典Dictionary排序(顺序、倒序)
  4. 并查集/poj1182 noi2001食物链eat
  5. 让程序员薪资上升一个level的良心十条建议,你有做到吗?
  6. 全球黑客盛会:2008年黑帽大会要闻摘要(2)
  7. 数据结构——HDU1312:Red and Black(DFS)
  8. HDLBits答案(19)_Verilog有限状态机(6)
  9. php 单引号 数据库,关于php:如何在写入Mysql数据库时处理撇号’单引号
  10. 如何从头到脚彻底解决一个MySQL Bug
  11. 特斯拉Cybertruck与新款Model S同时在加州工厂曝光
  12. 他帮 10 多家公司变身独角兽,总结出一份“成功”清单
  13. 【转】char码值对应列表大全
  14. syslinux linux 启动盘,syslinux启动盘制作
  15. SQL Server AlwaysOn部署
  16. Android 学习笔记(十二):安卓中的事件分发机制
  17. 生产docker run 卡住没反应故障排查思路
  18. 哪有计算机课程,计算机基础课程的目标有以下哪几个( ? ?)
  19. XXL-JOB任务调度中心---阻塞处理策略
  20. brendan eich_编程领域的变革者:Brendan Eich

热门文章

  1. ine.strip().split()
  2. es每次结果不一样_电子血压计不准!每次测血压都不一样……
  3. 文巾解题 695. 岛屿的最大面积
  4. 强化学习笔记4:强化学习分类
  5. XGBoost类库使用小结
  6. linux 压缩和解压缩(zip/unzip)
  7. python 可变 与 不可变类型
  8. 样式文件修改后不起作用_Word样式,这个功能好用到让你忘不了!
  9. 知识点讲解八:Python中的尾递归
  10. Hiring data scientists