一 常见的python字符类型
1、string(字符串) 如name=“wanglei”
list [1,2,3]
tuple(1,2,3)
dict{"aa":"bb"}
set{1,2,3}
int(整数) 如 a=11
float(小数) 如 b=11.2656
bool () True ,Fales
2、name=“wang”是给name定义了一个变量,在python中是把保存wang这个内存的地址的引用给了name这个变量
name2=name,是指name2这个变量指向了保存”wang”内存的地址。通过id(name)id(name2),得出两个变量的地址是一样的。
二、运算符
age = 5
sum = age + 1
number = age - 1
number2 = age * 3
number4 = age / 4 #正常,在python2里面它就是地板除,如果你要变成正常的除法,那么除数或者被除数要有一个是小数类型
number5 = age // 4 #地板除,只保留整数部分
number6 = 2**3 #取N次方的,2的3次方
number7 = 10 % 3 #取余,取模,取余数的意思
三、list(列表)
a=[11,22,33]
查 a[0]=11,可以根据下表来取值
增 a.append("55") -> [11,22,33,55]
a.insert(1,"77") -> [11,77,22,33]
a.extend(b) --> 把b列表加入到a列表中;合并
删 a.pop() ->[11,22] 删除列表中最后一个元素
a.pop(0) --> [22,33] 删除指定下标的元素;下标对应的元素不存在,程序报错(IndexError: pop index out of range)
a.remove[22] --->[11,33] 删除指定的元素,只删除第一个;删除不存在的元素,程序报错(ValueError: list.remove(x): x not in list)
del a[0] --> [22,33] 删除指定的下表元素 ;不存在的元素报错
改 a[0]="44" --> [44,22,33] 修改指定下标的元素
多维列表
l = [1,2,3,4,5,6,[7,8,9,10,11]] #2维数组
l2 = [1,2,3,4,5,6,
[ 7,8,9,10,11,["zengruotian",'abc']
]
] #3维数组
print(l[-1][3]) ---》取到l下的9
列表排序
nums = [82,23,235,236,121,1,0,3,25,26]
nums.sort()#排序,默认是升序
nums.sort(reverse=True)#排序,默认是升序,会改变原来list的值
nums.reverse()#反转list,会改变原来list的值
四、元组
a=(11,22,33) 元组是不可变类型,不能进行增删改操作
可以使用for循环进行遍历取出所有的元素
for i in a:
print(i)
五、字典
字典是以键值对来组成的
student_info = {
"addr": "北京",
"name":"曾若天",
"age":18,
"high":180,
"tizhong":150,
}
增:
student_info["money"] = 300000 通过指定键值对新增元素 ,如果存在,报错
student_info.setdefault("car","bmw") 通过指定键值对新增元素 如果是已经存在的key,setdefault不会修改已有的值
改:
student_info["age"] = 19,会把已存在的值修改
查:
student_info["name"] 不存在的元素会提示报错
student_info.get("addr") 不存在的元素会显示None,程序不报错
删:
student_info.popitem() 删除最后一个元素
student_info.pop("age") 删除指定的键
del student_info["age"] 删除指定的键
字典嵌套:
info = {
'lgy':{
'age':18,
'addr':'beijing',
'cars':['bmw','ben-z','audi']
},
'fd':{
'house':{
'bj':['海淀区','昌平区','朝阳区','西城区'],
'sh':['静安区','闸北区']
},
'money':5000
}
}
info["lgy"]["cars"].append("tesla")
# print(info)
#方丹 海淀区房卖了,卖了500w
index = info["fd"]["house"]["bj"].index("海淀区") 先定位下标
info["fd"]["house"]["bj"].pop(index) 其次通过下标进行删除
info["fd"]["house"]["bj"].remove("海淀区") 直接定位到列表通过列表的删除方法remove删除
info["fd"]["money"] = info["fd"]["money"]+500 新增
六、集合 set
集合天生是去重的,并且是无序的,不能以下标去定位元素
七、判断语句
if xxxxxx:若果条件成立怎么做?
elif xxxx:或者另一种条件也成立怎么做?
else:
(以上都不是则怎么怎么样做?)
八、关于可变类型与不可变类型
不可变类型:string、int、tuple 不能进行增删改。
可变类型:list、dict 可以进行增删改
因此在字典里面,只要是不可变类型都可以当做key,可变类型不可以当做字典的key。(和hash算法有关)
九、排序
普通列表排序 .sort()方法默认以从小到大或者从a到z方式排序,如果是从大到小则需要sort(reverse=True),如果是列表逆序则用.reverse方法
列表嵌套字典排序 .sort(key=lambad x:x["key 对应的变量"]),最后就会以key里面的变量为准进行排序
***lambad x:x["key 对应的变量"] 是匿名函数的用法