字典和列表

1、字典

dictionary 字典,是除列表以外,python中最灵活的数据类型。字典可以存储多个数据,存储相关的信息

字典的定义格式:

dict = {key:value,key:value}

  1. 字典使用键值对存储数据,键值对键名和键值
  2. 键名 key 就是键索引
  3. 键值 value 是数据
  4. 键名和键值之间用:
  5. 值可以是任何类型,键名只能是字符串,数字,元组

字典和列表的区别

列表是有序的集合 下标是从0开始的正整数

字典是无序的集合 ,通过键名来访问数据

2、使用键访问字典的值

# 定义一个字典类型
dict ={
“name”:”xxx”,
“edu”:”本科”,
“age”:18,
“marry”:True
}
# 取出字典中的某个元素的值

Dict[‘age’]
print(dict[‘name’])
print(dict[‘edu’])
print(dict[‘age’])
print(dict[‘marry’])

3、字典的操作,增加 、删除 ,修改

1 增加 字典[键] =数据 键不存在,会添加键值对;键存在,会修改键值对的值
2 删除 字典.pop(键) 删除指定键值对,返回被删除的值
字典.clear 清空字典
3 修改 字典[键]=数据 键不存在,会添加键值对;键存在,会修改键值对的值
4 查询 字典[键] 根据键的取值,键值对不存在会报错
字典.keys() 可以进行遍历,获取所有的键名
字典.values() 可以进行遍历,获取索引的键值
字典.items() 可以进行遍历,获取所有的(键,值)键值对
默认获取的是键名

使用for字典的遍历

默认是键名

遍历键名和键值

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
dicts ={"names":"张三","ages":30,"sex":"男"}
# 键值对
for obj in dicts.items():
print(obj)
# 结果是
('names', '张三')
('ages', 30)
('sex', '男')
# 键和值
for k,v in dicts.items():

print("键是%s 值是%s"%(k,v))
#得到键值
for v in dicts.values():
# print(v)
#遍历 默认是键名
for k in dicts:
print(k)
#遍历字典中的键名
for k in dicts.keys(): # 键名

print(k)

4、列表(重点)

列表的基本格式

  1. list (列表) 是python中使用最频繁的数据类型
  2. 专门用来存储一串数据,存储的数据 称之为 元素
  3. 通常放的是同类型
  4. 列表的索引(下标)从 0开始的 正整数 0 1 2 3 4 5 6 7 有序的

例如:

[10,20,30,40,50,60] 统一的类型

[“张三”,”李四”,”王五”] 统一的类型

格式

[元素1,元素2,元素3,元素4,元素5]

[10,20,30]

列表的索引(下标) 从0开始的正整数 0,1,2,3,4….

例如:

获取列表中的某个元素

name_list = [‘柳’,’张’,’关’]

# 取出列表中的元素值

print(name_list[0])

print(name_list[1])

print(name_list[2])

注意;取值的时候,如果超出索引的范围,程序就会报错

5、列表的常见操作

1 增加 列表.append(数据) 在末尾追加数据,并且每次只能添加一个
列表.extend([4,5,6,7,8]) 可迭代:集合
列表.insert(索引, 数据) 在指定位置插入数据(位置前有空元素会补位)
2 删除 del 列表[索引] 删除指定索引的数据
列表.remove(数据) 删除第一个出现的指定数据
列表.pop() 删除列表中的最后一个元素 有返回值,删除的元素
列表.pop(索引) 删除指定索引数据
列表.clear() 清空列表
3 修改 列表[索引] =数据 修改指定索引的数据,如果数据不存在,就报错
4 查询 列表[索引] 根据索引取值,如果索引不存在,就会报错
len(列表) 列表的长度
if 数据 in 列表 检查列表中是否包含某元素
5 排序 列表.sort() 升序排列

6、使用for的循环遍历列表

遍历就是从头到尾依次取出每一个元素,并且执行相同的操作

python中实现遍历的方式很多,比如or循环等

python中为了提高列表中的遍历效率,专门提供了for循环实现遍历

7、列表的嵌套

一个列表中的元素又是一个列表,那么这就是列表的嵌套

city =[

[“朝阳区”,”海淀区”],

[“浦东区”,”金山区”,”宝安区”]

]

案例:

一个学校,有3个办公室,现在有8位老师等待工位的分配

1
2
3
4
5
6
7
import random
office=[[],[],[]]
teacher=['a','b','c','d','e','f','g','h','i']
for name in teacher:
index=random.randint(0,2)
office[index].append(name)
print(office)

8、应用场景

  1. 尽管 **Python**列表 中可以 存储不同类型的数据
  2. 但是在开发中,更多的应用场景是
  • 列表 存储相同类型的数据
  • 通过 for**循环**,在循环体内部,针对列表中的每一项元素,执行相同的操作
-------------本文结束,感谢您的阅读-------------