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字典的遍历

默认是键名

遍历键名和键值

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()

升序排列

# 定义一个列表
list = ["鹿","关","柳","李"]
# 列表的操作
# list.append("陈")  # 在列表后面追加数据
# del list[0]  #删除 列表中的第一个元素
# list.remove("关")  #删除指定的元素
print(list[1])  # 查询下标为1的元素
print(len(list)) # 长度

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

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

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

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

7、列表的嵌套

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

city =[

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

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

]

案例:

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

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循环,在循环体内部,针对列表中的每一项元素,执行相同的操作

python--字典、列表相关推荐

  1. Python字典列表字段重组形成新的字典

    最近遇到这样一个需求,需要将字典列表中的字段进行重组,形成一个新的字典.举个例子吧: l1 = [{"x": 22, "y": 22, "demand ...

  2. python 字典 列表 速度_高效使用Python字典的清单

    字典(dict)对象是 Python 最常用的数据结构,社区曾有人开玩笑地说:"Python企图用字典装载整个世界",字典在Python中的重要性不言而喻,这里整理了几个关于高效使 ...

  3. python中列表相加规则_在Python字典列表中使用公共键/值求和值

    如果有人问过这个问题,请道歉.我在这方面是个新手,但我已经看过一些其他的问题/答案,它们看起来和我的很相似,但找不到一个能起作用的.我试过Counter,但似乎不知道如何保存ID键/值.在 我试图用一 ...

  4. python 字典列表指定key排序

    如何利用python对字典列表指定key排序呢? import operatorhero_list=[{'AGILITY': True, 'a': '6.19', 'd': '3.24', 'deni ...

  5. Python字典列表

    response={'reason': 'success!','result': [{'province_id': '1', 'province': '安徽', 'citys': [{'city_id ...

  6. python 字典+列表集合+文件读取

    字典示例 ************************ 各地食品的三级菜单************************* 1.使用字典嵌套字典 2.采用死循环思路 3.对字典 循环打印 只可得 ...

  7. Python:字典列表字符串方法测试

    测试的一些Python中的关于字典.列表.字符串的使用方法,放在这里备查. 整个测试代码和说明如下: # -*- coding: utf-8 -*- """Python: ...

  8. python 字典 列表 元祖_Python基础之列表、元祖、字典、集合,你都知道吗?附视频...

    前言 Python作为目前最火的编程语言之一,是一门解释型的高级编程语言,特点是简单明确.今天我们来简单介绍一下其中的列表.元祖.字典和集合,希望大家多多讨论. 列表(list) 具有以下特点: 1. ...

  9. mysql添加字典子项_如何使用executemany在MySQL中插入Python字典列表

    我目前正在使用MySQL和Python从网络上抓取数据.具体来说,我正在抓取表数据并将其插入到数据库中.我当前的解决方案可以工作,但是我觉得它效率极低,如果不重写代码,很可能会锁定数据库.这是我当前使 ...

  10. python 字典列表,元组列表 列表嵌套字典 列表嵌套元组 字典嵌套列表

    列表嵌套字典 l=[] for i in alist:kk = {}names.append(i.string)a_url.append(i.get('href'))kk['章节名']=i.strin ...

最新文章

  1. 线段树 ---- 牛客多校4 ETree Xor 区间异或分段
  2. 简单子串查找--strstr的使用(ZCMU1108)
  3. 详细记录如何在跨域请求中携带cookie
  4. eclipse 安装vim插件
  5. 飞鸽传书每写一行代码都会有新的成就
  6. 配置win2003 server IIS的总结,为什么IIs的工作进程会在空闲时间释放的问题。同时学会了throw的真正含义,throw的真正含义就是导致程序停止,崩溃,很简单,网摘也有记录。...
  7. [BJOI2017]树的难题 点分治,线段树合并
  8. Mac OS X上编写 ASP.NET vNext(一)KRE环境搭建
  9. java前端和后端的区别,看这一篇就够了!
  10. 解决Adobe PhotoShop用户界面字体过小的问题
  11. 计算机日常故障及维修,电脑常见问题和故障处理
  12. 联想昭阳E46A笔记本的一个问题
  13. 如何修改Tomcat的默认主页
  14. 买不起MacBook,使用Windows 10配置zsh命令行做开发
  15. 赵小楼:《天道》《遥远的救世主》深度解析(28)人文意识发展到今天,我们应该怎么改变?
  16. Mybatis insert、update 、delete返回值
  17. 将InfoSphere Guardium数据编辑与IBM分类模块集成
  18. 人体生物钟,24小时器官工作表
  19. 2018年广东工业大学文远知行杯新生程序设计竞赛 1013 在那天的雪停息之前β
  20. 将时间戳转日期和对应星期几

热门文章

  1. 有哪些小巧舒适的蓝牙耳机?推荐几款小巧且舒适的蓝牙耳机
  2. 什么是电气一次、二次?电气一次二次的分类
  3. 如何搭建Jenkins导出Unity安卓环境
  4. linux下的iic驱动程序,实战经验吐血推荐:怎样在Linux环境下轻松实现基于I2C总线的EEPROM驱动程序...
  5. 2021.8.27夏令营阶段测试总结
  6. NetSuite ERP的优势是什么?
  7. 静态html页面如何兼容pc和移动端
  8. Linux那些事儿之我是U盘(1)小城故事
  9. android串口通信——身份证识别器
  10. 手把手教你选开源商城系统!