目录导航

  • 字典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

 

posted on 2021-01-22 11:36  EugeniaWang  阅读(77)  评论(0)    收藏  举报