python--字典、列表
1、字典
dictionary 字典,是除列表以外,python中最灵活的数据类型。字典可以存储多个数据,存储相关的信息
字典的定义格式:
dict = {key:value,key:value}
- 字典使用键值对存储数据,键值对键名和键值
- 键名 key 就是键索引
- 键值 value 是数据
- 键名和键值之间用:
- 值可以是任何类型,键名只能是字符串,数字,元组
字典和列表的区别
列表是有序的集合 下标是从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、列表(重点)
列表的基本格式
- list (列表) 是python中使用最频繁的数据类型
- 专门用来存储一串数据,存储的数据 称之为 元素
- 通常放的是同类型
- 列表的索引(下标)从 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、应用场景
- 尽管
Python
的 列表 中可以 存储不同类型的数据 - 但是在开发中,更多的应用场景是
- 列表 存储相同类型的数据
- 通过 for循环,在循环体内部,针对列表中的每一项元素,执行相同的操作
python--字典、列表相关推荐
- Python字典列表字段重组形成新的字典
最近遇到这样一个需求,需要将字典列表中的字段进行重组,形成一个新的字典.举个例子吧: l1 = [{"x": 22, "y": 22, "demand ...
- python 字典 列表 速度_高效使用Python字典的清单
字典(dict)对象是 Python 最常用的数据结构,社区曾有人开玩笑地说:"Python企图用字典装载整个世界",字典在Python中的重要性不言而喻,这里整理了几个关于高效使 ...
- python中列表相加规则_在Python字典列表中使用公共键/值求和值
如果有人问过这个问题,请道歉.我在这方面是个新手,但我已经看过一些其他的问题/答案,它们看起来和我的很相似,但找不到一个能起作用的.我试过Counter,但似乎不知道如何保存ID键/值.在 我试图用一 ...
- python 字典列表指定key排序
如何利用python对字典列表指定key排序呢? import operatorhero_list=[{'AGILITY': True, 'a': '6.19', 'd': '3.24', 'deni ...
- Python字典列表
response={'reason': 'success!','result': [{'province_id': '1', 'province': '安徽', 'citys': [{'city_id ...
- python 字典+列表集合+文件读取
字典示例 ************************ 各地食品的三级菜单************************* 1.使用字典嵌套字典 2.采用死循环思路 3.对字典 循环打印 只可得 ...
- Python:字典列表字符串方法测试
测试的一些Python中的关于字典.列表.字符串的使用方法,放在这里备查. 整个测试代码和说明如下: # -*- coding: utf-8 -*- """Python: ...
- python 字典 列表 元祖_Python基础之列表、元祖、字典、集合,你都知道吗?附视频...
前言 Python作为目前最火的编程语言之一,是一门解释型的高级编程语言,特点是简单明确.今天我们来简单介绍一下其中的列表.元祖.字典和集合,希望大家多多讨论. 列表(list) 具有以下特点: 1. ...
- mysql添加字典子项_如何使用executemany在MySQL中插入Python字典列表
我目前正在使用MySQL和Python从网络上抓取数据.具体来说,我正在抓取表数据并将其插入到数据库中.我当前的解决方案可以工作,但是我觉得它效率极低,如果不重写代码,很可能会锁定数据库.这是我当前使 ...
- python 字典列表,元组列表 列表嵌套字典 列表嵌套元组 字典嵌套列表
列表嵌套字典 l=[] for i in alist:kk = {}names.append(i.string)a_url.append(i.get('href'))kk['章节名']=i.strin ...
最新文章
- 线段树 ---- 牛客多校4 ETree Xor 区间异或分段
- 简单子串查找--strstr的使用(ZCMU1108)
- 详细记录如何在跨域请求中携带cookie
- eclipse 安装vim插件
- 飞鸽传书每写一行代码都会有新的成就
- 配置win2003 server IIS的总结,为什么IIs的工作进程会在空闲时间释放的问题。同时学会了throw的真正含义,throw的真正含义就是导致程序停止,崩溃,很简单,网摘也有记录。...
- [BJOI2017]树的难题 点分治,线段树合并
- Mac OS X上编写 ASP.NET vNext(一)KRE环境搭建
- java前端和后端的区别,看这一篇就够了!
- 解决Adobe PhotoShop用户界面字体过小的问题
- 计算机日常故障及维修,电脑常见问题和故障处理
- 联想昭阳E46A笔记本的一个问题
- 如何修改Tomcat的默认主页
- 买不起MacBook,使用Windows 10配置zsh命令行做开发
- 赵小楼:《天道》《遥远的救世主》深度解析(28)人文意识发展到今天,我们应该怎么改变?
- Mybatis insert、update 、delete返回值
- 将InfoSphere Guardium数据编辑与IBM分类模块集成
- 人体生物钟,24小时器官工作表
- 2018年广东工业大学文远知行杯新生程序设计竞赛 1013 在那天的雪停息之前β
- 将时间戳转日期和对应星期几
热门文章
- 有哪些小巧舒适的蓝牙耳机?推荐几款小巧且舒适的蓝牙耳机
- 什么是电气一次、二次?电气一次二次的分类
- 如何搭建Jenkins导出Unity安卓环境
- linux下的iic驱动程序,实战经验吐血推荐:怎样在Linux环境下轻松实现基于I2C总线的EEPROM驱动程序...
- 2021.8.27夏令营阶段测试总结
- NetSuite ERP的优势是什么?
- 静态html页面如何兼容pc和移动端
- Linux那些事儿之我是U盘(1)小城故事
- android串口通信——身份证识别器
- 手把手教你选开源商城系统!