数字类型(不可变):
4种:int,float,bool,complex
字符串类型(不可变):
2种取值顺序:从左到右:下标索引从0开始,最大范围(字符串长度-1)。
从右到左:倒数第一个下标为-1,倒数第二个为-2……
截取字符串:截取前5个:a[0:5] (左闭右开,第5个取不到)。
连接2个字符串:a+b
重复2次字符串:a*2
转义字符:打印双引号(用\")
内建函数count:获取某子字符串在字符串中出现的次数,如a.count('l',0,5) (这里用5也是因为前闭后开)。
endswith:字符串是否用某子字符串结尾。
find:是否含有某个子字符串,返回找到的子字符串的起始下标。
replace:替换。
split:把字符串切片成列表。
c="hello world"
print(c.split(" "))
strip:去掉字符串前/后面的空格。
列表:
创建列表:默认:a=[1,2,3,4]之类。
使用range:a=list(range(11)) (创建从0到10,有局限性)
a=list(range(5,11)) (创建从5到10)
a=list(range(5,11,2)) (步长为2)
访问列表:a[1](访问第二个)
修改元素:a[1]=8
取列表值:print(a[:]) (把列表中的值全部复制,打印)
print(a[1:7]) (取下标为1的到下标为6的,左闭右开)
print(a[-1]) (取倒数第一个元素,倒数第二个:-2)
列表更新:
删除下标为5的元素:del a[5]
删除值为c的元素:a.remove("c")
添加值为f的元素:a.append("f") (添加到末尾)
列表中可以嵌套子列表。
列表拼接:+
列表重复:*
列表排序(纯数字类型):a.sort() (从小到大)
a.sort(reverse=True) (从大到小)
列表长度:len(a)
list[]与list[:]区别:
①list=[1,2,3,4]
list1=list[] ([]标识,是典型的引用操作,传址操作,1个内存地址)
②list=[1,2,3,4]
list1=list[:] ([:]标识,是典型的赋值操作,传值操作, 2个内存地址)
元组:
元组与列表的所有操作基本类似,唯一不一样的地方是,元组的元素不允许被修改。
定义一个元素的元组:tup1 = (1,)
字典:
字典当中的元素是通过键来存取的,而不是通过偏移存取。
创建字典:字典对象名称={key1:value1,key2:value2,……}
访问字典:字典对象名称[key]
字典对象名称.keys()
字典对象名称.values()
修改字典:
dict1={"name":"小明","class":"17","学号":"30","爱好":"no"}
dict1["爱好"]="打篮球" #将爱好修改为打篮球
print(dict1)
dict1["心情"]="" #添加一个key
print(dict1)
dict1.pop("学号") #删除学号
print(dict1)
print(dict1["name"]) #查看key为name的value
集合:
是一个无序不重复元素的集。
创建集合:可以用大括号({})创建空集合。
添加元素:只添加一个 集合名称.add()
给一个集合添加多个内容 集合名称.update([])
交集:a&b
并集:a|b
集合可以消除列表中的重复元素:
list1=[1,1,2,2,3,3,4,4]
set1=set(list1)
print(set1)
条件判断语句:
多值判断:if...elif...else
num=6
if 5>=num:
print(num)
pass
elif 6==num:
print("num is 6")
pass
else:
print("abc")
pass
判断要满足多个条件时:用and
for循环:
基本语法:for 变量 in 循环对象 :
循环语句块;
pass
推导式:
定义:是可以从一个数据序列构建另一个新的数据序列的结构体。
有三种推导式:列表 字典 集合
list1=[23,25,28,26] #要取list1中大于25的数,再都加上1
list2=[(i+1)for i in list1 if 25 < i]
print(list1)
print(list2)
# dict1={'xiaoli':23,'xiaowang':25,'xiaoming':26}
# dict2={v:k for k,v in dict1.items()} #对调键、值
# print(dict1)
# print(dict2)
# list1=['xiaoli','xiaowang','xiaoming'] #将2个列表打包为字典
# list2=[23,24,25]
# list3=list(zip(list1,list2)) #列表中打包3个元组
# dict1={k:v for k,v in list3} #再转为字典
# print(dict1)
lambda表达式:
语法:Lambad表达式对象 = lambda [arg1 [,arg2,.....argn]] : 表达式
应用:①使用内置函数作为表达式
a=lambda x:print(x)
a(6)
②使用自定义函数作为表达式
def add1(a,b):
c=a+b
return c
add=lambda x,y: add1(x,y)
res=add(6,8)
print(res)
③使用推导式作为表达式
f1=lambda k: [i for i in range(k)]
res1=f1(11)
print(res1)