列表的排序
(1)修改源列表,不建立新列表
a.sort()
(2)建新列表的排序
a=sorted(a)
(3)reversed()返回迭代器
列表的排序
(1)修改源列表,不建立新列表
a.sort()
(2)建新列表的排序
a=sorted(a)
(3)reversed()返回迭代器
切片操作
[起始偏移量:终止偏移量:步长]
列表的遍历
列表元素访问和计数
(1)通过索引直接访问元素
(2)获得指定元素在列表中首次出现的索引
index(value,[start,end])
(3)count()获得指定元素在列表中出现的次数
(4)len()列表长度
列表元素的删除
(1)del删除
a=[100,200,888,300,400] del(a[2]) print(a)
本质上是数组元素依次拷贝
(2)pop()方法
a=[10,20,30,40,50] b=a.pop() print(b) #50a中元素从末尾依次弹出 c=a.pop(1) print(c) #20弹出指定元素 print(a) #[10, 30, 40]a中元素被弹出后
(3)remove():删除首次出现的指定元素。
a=[10,20,30,40,50] a.remove(20) print(a) #[10, 30, 40, 50]
列表元素的增加和删除
append()方法:在列表尾部直接加元素
a=[10,20] a.append('wo') print(a) #[10, 20, 'wo']
a=[10,20,30] a.append([12,14]) print(a) #[10, 20, 30, [12, 14]] a.append(15,17) print(a) #错误,append只能添加一个元素
+运算符操作:创建新的列表对象,将原来的列表元素复制到新的列表对象中。(不建议)
a=[10,20] print(id(a)) a=a+[3,4] #2568250519936 print(a) #[10, 20, 3, 4] print(id(a)) #2568245607744重新生成了列表
extend():原地操作,不创建新的列表对象
a=[10,20,30] print(id(a)) #2043085779328 a.extend([2,4]) print(a) #[10, 20, 30, 2, 4] print(id(a)) #2043085779328没有生成新的对象
insert():可以将指定元素插入到列表对象的指定位置。(不建议)
a=[10,20,30] a.insert(2,100) print(a) #[10, 20, 100, 30]
乘法扩展
a=[10]*3 print(a) #[10, 10, 10]
列表的创建
基本语法的创建
a=[20,30,50,'xiaohong'] print(a[0]) #20 b=[] b.append(10) print(b) #[10]
list()创建:list()将任何可以迭代的数据转化为列表。
a=list('fuzhuoming') print(a) #['f', 'u', 'z', 'h', 'u', 'o', 'm', 'i', 'n', 'g'] b=list(range(5)) print(b) #[0, 1, 2, 3, 4]
range()创建整数列表
range[start,end,step]
c=list(range(0,10,2)) print(c) #[0, 2, 4, 6, 8]range()完整用法
推到式生成列表
序列:一种数据储存方式,用来储存一系列的数据。在内存中,序列就是一块用来存放多个值(对象的地址)的连续的内存空间。
常用的序列结构:字符串、列表、元组、字典、集合。
列表:用于存储任意数目,任意类型的数据集合。
列表大小可变。字符串和列表都是序列lei'xi
基本运算符
and、or、not布尔与或非
is、is not判断是否为同一个对象
<、>比较值是否相等
a=4 print(3<a<10) #True 关系运算符可以连用
字符串常用方法汇总
(1)常用查找方法
可变字符串
在Python中,字符串属于不可变对象,如果需要修改其中的值,只能创建新的字符串对象。但是可以用io.StringIO对象或array模块。
字符串的格式化
format():通过{索引}/{参数名}直接映射参数值,实现对字符串的格式化。
填充与对齐
数字格式化
链式赋值
字符串驻留机制和字符串比较
字符串驻留:仅保存一份相同且不可变字符串的方法,不同的值被存放在字符串驻留池中。对于符合标识符规则的字符串(仅包含下划线_、字母和数字),python支持字符串驻留机制。(放屁,pycharm中都驻留)
字符串比较
split()分割和join()合并
split()可以基于指定分隔符将字符串分隔为多个子字符串,如果不指定分隔符,则默认使用空白字符。
join()用于将一系列子字符串拼接
(1)字符串切片slice操作:截取字符串
标准格式为:[起始偏移量:终止偏移量:步长]包头不包尾
[:]提取整个字符串
1.str()实现数字转型字符串
print(str(1)) #1 print(str(34.5)) #34.5
2.使用[]提取字符
字符串的本质就是字符序列,可以通过在字符串后面添加[]里面指定偏移量,可以提取该位置的单个字符。
正顺序从0,1顺序标号,负顺序从-1,-2倒数标号。
a="abcdefdhigklmnopqrstuvwxyz" print(a[1]) #b print(a[-1]) #z
3.replace()实现字符串“改变”
字符串不可改变,调用replace()生成新字符串,原字符串并没有变化。
a="abcdefdhigklmnopqrstuvwxyz" print(a.replace('c','付')) #ab付defdhigklmnopqrstuvwxyz print(a) #abcdefdhigklmnopqrstuvwxyz 原字符串的值不更改 a=a.replace('c','付') #a指向新的字符串 print(a) #ab付defdhigklmnopqrstuvwxyz a的值被更改
转义字符:使用"\+特殊字符",实现某些难以用字符表示的效果。如换行等。
续行符:\
a='aaa\ bbb' print(a) #aaabbb
字符串拼接
+两边都是字符串 或者直接放到一起实现拼接
a='aaa'+'bbb' print(a) #aaabbb b='aaa''bbb''ccc' print(b) #aaabbbccc
字符串复制
a='aaa'*3 print(a) #aaaaaaaaa
不换行打印
print("aaa") print("bbb") print("ccc") ''' aaa bbb ccc ''' print("aaa",end="*") #以星号结尾并且不换行 print("bbb",end="\t") print("ccc") #aaa*bbb cccc
从控制台读取字符串:使用input()从控制台读取键盘输入的内容。
myname=input("请输入名字:")
同一运算符:用于比较两个对象的储存单元,实际比较的是对象的地址。
is:判断两个变量引用对象是否为同一个,即比较对象的地址。
==:用于判断引用变量引用对象的值是否相等。
布尔值:True(1),False(0)
比较运算符:
==等于
!=不等于
逻辑运算符:
or(或)、and(与)、not
import time
a=int(time.time())
print(a)
totleminite=a//60
print(totleminite)
totlehour=tl=totleminite//60
print(totlehour)
totleday=totlehour//24
print(totleday)
totleyear=totleday//365
print(totleyear) #51
时间的表示