- 字典dict
特点:1.通过key 访问value 2.无序的
定义一个空字典 name_dict()
输入命令:
name_dict=dict()
print(name_dict)
响应:
{}
定义非空字典
输入命令:
stu_info={"name":"eugenia","age":18,"hobby":"爱吃饭"}
print(stu_info)
响应:
{'name': 'eugenia', 'age': 18, 'hobby': '爱吃饭'}
通过key 访问value
输入命令:
stu_info={"name":"eugenia","age":18,"hobby":"爱吃饭"}
stu_info["name"]="eugenia" print(stu_info)
响应:
{'name': 'eugenia', 'age': 18, 'hobby': '爱吃饭'}
修改key对应的value值
stu_info["name"]="eugenia"
print(stu_info)
{'name': 'wang', 'age': 18, 'hobby': '爱吃饭'}
stu_info={"name":"eugenia","age":18,"hobby":"爱吃饭”}
增加key和value值
stu_info["sex"]="g" 添加一个不存在的key和value表示增加
print(stu_info)
{'name': 'eugenia', 'age': 18, 'hobby': '爱吃饭', 'sex': 'g'}
- 字典常用方法
stu_info={"name":"eugenia","age":18,"hobby":"爱吃饭”}
1.clear() 清空字典中所有元素
stu_info.clear()
print(stu_info)
2.fromkeys() 初始化一个字典 重要性:无
把列表中的每一个元素当做key,默认值当做value name_list=["eugenia","wang"] name_dict=dict.fromkeys(name_list,18) names是一个序列,18是默认值,随便写 print(name_list)
3.get()
stu_info={"name":"eugenia","age":18,"hobby":"爱吃饭”}
print(sut_info["name"]) 第一种方法
print(stu_info.get("name")) 第二种方法
print(stu_info["sex"]) 打印字典中没有的key,会报错
print(stu_info.get("name")) 打印字典中没有的key,不会报错,返回报none
4.items() 把字典转换为序列,序列每一个元素是元组,元组中的第一个元素是key,第二个元素是value
stu_info={"name":"eugenia","age":18,"hobby":"爱吃饭”}
print(stu_info.items())
for godd instu_info.items()
print(godd) 第一次循环good=('name','eugenia')
key,value=good
print(key,value)
5.keys() 把字典中所有key放到序列中
stu_info={"name":"eugenia","age":18,"hobby":"爱吃饭”}
print(stu_info.keys()
all keys=stu_info.keys()
for key in all_keys:
value=stu_info.get(key)
print(key)
6.pop() 删除指定的key及其value值
stu_info={"name":"eugenia","age":18,"hobby":"爱吃饭”}
print(stu_info.pop("age")
print(stu_info)
7.del() 删除
del stu_info["age"]
print(stu_info)
8.popitem() python3.6以上版本,字典是有序的,默认删除最后一个元素
stu_info={"name":"eugenia","age":18,"hobby":"爱吃饭”}
delete_ele=stu_info.popitem()
print(stu_info)
print(delete_ele)
9.setdefault() key不存在即新增,如果key存在不做任何改变
stu_info={"name":"eugenia","age":18,"hobby":"爱吃饭”}
stu_info.setdefault("sex","g") key和value不存在
stu_info.setdefault("name","eugenia") key和value存在
print(stu_info)
10.update() 把两个字典合并成一个新字典,中间有交叉的key就更新成update(新表)内的新值,没有交叉就直接创建
stu_info={"name":"eugenia","age":18,"hobby":"爱吃饭"}
tea_info={"name":"wyq","list":"nb","age":20}
stu_info.update(tea_info)
print(stu_info)
{'name': 'wyq', 'age': 20, 'hobby': '爱吃饭', 'list': 'nb'}
11.values() 获取字典中所有的value,并且保存在一个序列中
stu_info={"name":"eugenia","age":18,"hobby":"爱吃饭"}
print(stu_info.values())
dict_values(['eugenia', 18, '爱吃饭'])
- json格式
json_data={"success":true,"data"[{"id":1,"name":"张三","age":18},{"id":2,"name":"李四","age":22}}]
- 运算
1.比较运算
a,b=1,1
== 比较对象是否相等
bool值:true(1)和false(0)
print(a==b)
!= 不等于
print(a!=b)
> 和 >=
< 和 <=
2.赋值运算
a,b=2,3
a+=b 表示a=a+b
print(a)
相同原理
a-=b 表示a=a-b
a*=b 表示a=a*b
a**=b 表示a=a**b
a/=b 表示a=a/b
a//=b 表示a=a//b
a%=b 表示a=a%b
- for循环
语法:
for 临时变量名 in 序列名:
空四个字符即按一个tab键+print(临时变量名)
例:
names=["a","b","c"]
for ele in names:
print(ele)
解析:
names序列第0个元素赋值给ele,等待for循环体中的代码执行完毕后
第1个元素赋值给ele,等待for循环体中的代码执行完毕后
第2个元素赋值给ele,等待for循环体中的代码执行完毕,终止
stu_info={"name":"eugenia","age":18,"hobby":"爱吃饭"}
print(stu_info.items())
for ele in stu_info.items():
print(ele) 以序列形式返回ele=(‘name’,'eugenia')
key,value=ele
print(key,value) 以ele=name eugenia形式返回
- 定义一个元组
key,value=('name','eugenia')
print(key,value)
- 函数
1.range函数:是配合着for循环使用的
语法:
range(start,end,step)
start默认0,end必须为正整数,step默认1
for i in range(1,10,2): 解析:i是自定义的一个变量名,range(1,10,2)中的元素1,10,2按顺序分别循环代入变量i print(i) 解析:打印出变量i中每一轮循环的结果
例题:求和 1/1 + 1/3 +1/5 + ...... +1/99
输入命令:
sum=0 for i in range(1,100,2): sum+=1/i print(sum)
响应:
2.937774848474907
解析:
range(1,100,2)表示从1开始,到100结束不包含100,步数为2即隔1个数
第一轮循环:sum=o,i=1 输出sum=0+1/1=1 (sum的值更新为1)
第二轮循环:sum=1,i=2 输出sum=1+1/2=1.5 (sum值更新为1.5)
第三轮循环:sum=1.5,i=3 输出sum=1.5+1/3
......
第99轮循环:sum=“第98轮循环返回得出的sum值”,i=99,
循环结束,得出最终的sum=“第98轮循环返回的sum值”+1/99
例题:写一个99乘法表
1*1=1
1*2=2 2*2=4
......
1*9=9
...... 9*9=81
for i in range(1,10): for j in range(1,i+1): print("{0}*{1}={2}".format(j,i,i*j),end=" ") print() i+=1
2.while循环
如果布尔值为true继续执行,为false终止执行
语法:
while布尔值:
循环体:
i=0 while i<=3: print(i) i+=1
结果:0 1 2 3
i=0 print(i<=3): print(i)
结果:死循环
例题:用while写一个99乘法表
i=1 while i<10: j=1 while j<i+1: print("{0}*{1}={2}".format(j,i,i*j),end=" ") j+=1 print() i+=1
用while循环一个列表
names=["a","b","c"] names_len=len(names) i=0 while i<names_len: print(names[i]) i+=1
浙公网安备 33010602011771号