1.运算符
运算符:python语言各种表达式中的符号
python中主要运算符有:算数运算符、逻辑运算符、赋值运算符、关系运算符
算数运算符 + - * / %(取余) ** (幂次方)
【python中除法是一种正常除法,也可以把/换成//,结果只保留整数部分】
a=5
b=2
print(a/b)
print(a//b)
print(a%b)
print(a**b)
print(a**b)
输出:
2.5
2
1
25
赋值运算符:给变量赋值
a=5
a+=5 #---a=a+5
print(a) #10
关系运算符:比较两个变量之间关系
< > == >= <= !=
运算结果是布尔值
a=5
b=11
print(a>b)
结果:
False
判断字符串是否相等(不想等):
c="hello"
b="你好"
print(c==b) #False
print(c!=b) #True
逻辑运算符:判断表达式之间的逻辑关系
and or not
and–左右布尔表达式都为真,则整个表达式为真
or —左右只要有一个为真,则表达式为真
not— 对右边布尔表达式取反
容器:在程序里,我们可以将多个数据通过容器保存在一个变量中
在容器中,我们主要学习四种数据类型:列表list,元组tuple,字典dict,集合set
2.列表(list)
列表是一个有序的序列结构,可以存放不同的数据类型的数据,列表每一个元素有一个索引,列表可以进行一系列操作,添加、删除、修改元素。
特性:有序、元素可以重复、可以存放多种数据类型
索引作用:
1.通过索引(下标)获取值:
从左往右:0 1 2… 或 从右往左:-1 -2 -3 …
2.做切片,截取列表的一部分
[起始索引:结束索引:步长(默认是1,可省略)]
lista=["张三","李四",6666]
print(lista)
print(lista[1])
print(lista[-2])
print(lista[1:3])
listb=[1,22,333,4444,55555,666666,7777777,8,9,10]
print(listb[2:5])
print(listb[1:8:1])
print(listb[1:8:2])
print(listb[8:])#获取某个索引以后的所有值
print(list[:8])#获取某个索引以前的所有值,不包含本身
结果:
['张三','李四',6666]
李四
李四
李四
['李四',6666]
[333,4444,5555]
[22,333,4444,5555,666666,7777777]
[22,4444,666666]
[9,10]
[1,22,333,4444,55555,666666,7777777]
增加列表数据:
lista=["张三","李四","王五","赵六"]
lista.append("大宝")#在末尾添加
lista.insert(2,"乔峰")#在指定位置添加元素inser(位置信息,具体值)
删除数据:
lista=["张三","李四","王五","赵六"]
lista.remove("王五")#删除一个具体值
lista.pop(2)#删除指定位置的值
print(lista)
给元素重新赋值(修改)
lista=["张三","李四","王五","赵六"]
lista[0]="张三丰"
print(lista)
3.元组
元组是一个有序的序列结构,基本结构和列表类似。元组也能使用索引获取元素中的值,和列表不一样的是,元组中的元素不支持修改。
特性:有序,元素可重复,可存放多种数据类型,不支持修改
元组用在对安全性有一定需求的数据上。
tuplea=("张三","李四","王五","赵六")
print(tuplea[1])
print(tuplea[-3])
print(tuplea[1:3])
结果:
李四
李四
('李四','王五')
多维容器:不同容器间相互嵌套
lista=[1,2,3,4,5,6,7,8]
listb=[11,22,33,44,"你好",66,77,88]
listc=[111,222,333,444,(1,2,"北京"),777,888]
listx=[lista,listb,listc,[1,33,44,55]]#二维列表
print(listx[1])
print(listx[1][4])
print(listx[2][4][2])
输出结果:
[11,22,33,44,"你好",66,77,88]
你好
北京
4.字典dict
字典是一种键值对结构的序列结构,其中的键(key)和值(value)是一一对应的。字典用在需要告诉查找的地方。键:值。
特性:无序,键值对形式,键不可以重复,一般使用字符串作为键。
没有索引,使用键获取值
dicta={"name":"zhangsan","age":18,"bobby":"playbal"}
print(dicta["hobby"])#playbal
print(dicta["age"])#18
修改字典的值:
dicta={"name":"zhangsan","age":18,"bobby":"playbal"}
dicta["hobby"]="看书"
print(dicta)
增加数据:给一个原本不存在的键赋值
dicta["sex"]="男"
print(dicta)
删除数据
dicta.pop("hobby")
print(dicta)
判断一个键是否存在
print("sex" in dicta)#True 说明在dicta中存在sex的键
5.集合set
集合是一种无序的序列结构,集合中的元素不重复。集合常被用来进行去重复值。集合也可以进行数学集合运算,如并、交、差以及对等差等。
特性:无序,元素不重复,集合本质上是只有键的字典
seta={11,22,33,44,55,33,22,"hello"}
print(seta)
输出结果:
{22,44,11,55,"hello",33}
去重:
lista=[1,3,2,34,5,532,2,1,2,2]
seta=set(lista)#将其他序列转换成set
newlist=list(seta)#将其他序列转换成set
print(newlist)
集合运算:
seta={1,2,34,56,6}
setb={7,3,4,1,2,3,6}
print(seta&setb)#&位运算符,求交集
print(seta|setb)#求并集
print(seta-setb)#求差集
6.len()函数
len():获取序列长度(length)
lista=[1,23]
tuplea=(1,32,45,545)
dicta={"name":"zhan","age":18}
seta={1,33,454,23}
length=len(lista)
print(length)
s1="hello world"
print(len(s1))