Python 进阶 (二) 初识 Python 数据元素: 字典 & 时间

【Python】新手入门:什么是Python字典?python空字典如何创建?Python字典中的值如何访问?Python字典如何修改?如何删除python字典元素?python字典内建函数有哪些? 字典是Python核心数据结构,使用花括号定义,元素以“键:值”形式存储并由逗号分隔。核心特性是​​键的唯一性​​(键不可重复且必须为不可变类型),通过键名直接访问对应值(如字典名['键'])。字典内容可动态修改:支持新增键值对、修改已有键的值、删除指定键或清空全部内容。其内置方法支持高效操作:检查键是否存在、获取所有键/值列表、批量更新数据等。字典凭借​​键值映射机制​​,成为存储无序数据集合(如配置信息、属性映射)的理想工具,提供远超列表的查询效率。 阅读详情

一、字典

1.1 字典简介

字典(dic dictionary)是除列表之外python中最灵活的内置数据结构类型。列表是有序的对象结合,字典是无序的对象集合。两者之间的区别在于:字典当中的元素是通过键来存取的,而不是通过偏移存取。

字典由键和对应的值组成。字典也被称作关联数组或哈希表。基本语法如下:

dict = {'Alice': '2341', 'Beth': '9102', 'Cecil': '3258'};

也可如此创建字典:

dict1 = { 'abc': 456 };dict2 = { 'abc': 123, 98.6: 37 };

每个键与值必须用冒号隔开(:),每对用逗号分割,整体放在花括号中{}。键必须独一无二,但值则不必;值可以取任何数据类型,但必须是不可变的,如字符串,数或元组。

1.2 访问字典里的值

dict = {'name': 'Zara', 'age': 7, 'class': 'First'};print "dict['name']: ", dict['name'];print "dict['age']: ", dict['age'];

1.3 修改字典

向字典添加新内容的方法是增加新的键/值对,修改或删除已有键/值对。如下实例:

dict = {'name': 'Zara', 'age': 7, 'class': 'First'};dict["age"]=27; #修改已有键的值dict["school"]="wutong"; #增加新的键/值对print "dict['age']: ", dict['age'];print "dict['school']: ", dict['school'];

1.4 删除字典

del dict['name']; # 删除键是'name'的条目dict.clear(); # 清空词典所有条目del dict ; # 删除词典

注意⚠:字典不存在,del 会引发一个异常

1.5 字典内置函数 &方法

  • cmp(dict1, dict2) 比较两个字典元素。

  • len(dict) 计算字典元素个数,即键的总数。

  • str(dict) 输出字典可打印的字符串表示。

  • type(variable) 返回输入的变量类型,如果变量是字典就返回字典类型。

  • clear() 删除字典内所有元素;

  • copy() 返回一个字典的浅复制;

  • fromkeys() 创建一个新字典,以序列 seq 中元素做字典的键,val 为字典所有键对应的初始值;

  • get(key, default=None) 返回指定键的值,如果值不在字典中返回 default 值;

  • has_key(key) 如果键在字典 dict 里返回true,否则返回false;

  • items() 以列表返回可遍历的(键, 值) 元组数组;

  • keys() 以列表返回一个字典所有的键;

  • setdefault(key, default=None) 和get()类似, 但如果键不存在于字典中,将会添加键并将值设为default;

  • update(dict2) 把字典 dict2 的键/值对更新到 dict 里;

  • values() 以列表返回字典中的所有值;

二、日期和时间

2.1 获取当前时间

import time, datetime;localtime = time.localtime(time.time())print "Local current time :", localtime

说明:time.struct_time(tm_year=2014, tm_mon=3, tm_mday=21, tm_hour=15, tm_min=13, tm_sec=56, tm_wday=4, tm_yday=80, tm_isdst=0)属于 struct_time 元组,struct_time 元组具有如下属性:

2.2 获取格式化的时间

可以根据需求选取各种格式,但是最简单的获取可读的时间模式的函数是asctime()。

2.2.1 日期转换为字符串

首选:print time.strftime('%Y-%m-%d %H:%M:%S');其次:print datetime.datetime.strftime(datetime.datetime.now(), '%Y-%m-%d %H:%M:%S')最后:print str(datetime.datetime.now())[:19]

2.2.2 字符串转换为日期

expire_time = "2013-05-21 09:50:35"d = datetime.datetime.strptime(expire_time,"%Y-%m-%d %H:%M:%S")print d;

2.2.3 获取日期差

oneday = datetime.timedelta(days=1)#今天,2014-03-21today = datetime.date.today()#昨天,2014-03-20yesterday = datetime.date.today() - oneday#明天,2014-03-22tomorrow = datetime.date.today() + oneday#获取今天零点的时间,2014-03-21 00:00:00today_zero_time=datetime.datetime.strftime(today, '%Y-%m-%d %H:%M:%S')#0:00:00.001000 print datetime.timedelta(milliseconds=1), #1毫秒#0:00:01 print datetime.timedelta(seconds=1), #1秒#0:01:00 print datetime.timedelta(minutes=1), #1分钟#1:00:00 print datetime.timedelta(hours=1), #1小时#1 day, 0:00:00 print datetime.timedelta(days=1), #1天#7 days, 0:00:00print datetime.timedelta(weeks=1)

2.2.4 获取时间差

#1 day, 0:00:00oneday = datetime.timedelta(days=1)#今天,2014-03-21 16:07:23.943000today_time = datetime.datetime.now()#昨天,2014-03-20 16:07:23.943000yesterday_time = datetime.datetime.now() - oneday#明天,2014-03-22 16:07:23.943000tomorrow_time = datetime.datetime.now() + oneday

注意时间是浮点数,带毫秒。那么要获取当前时间,需要格式化一下:

print datetime.datetime.strftime(today_time, '%Y-%m-%d %H:%M:%S')print datetime.datetime.strftime(yesterday_time, '%Y-%m-%d %H:%M:%S')print datetime.datetime.strftime(tomorrow_time, '%Y-%m-%d %H:%M:%S')

2.2.5 获取上个月最后一天

last_month_last_day = datetime.date(datetime.date.today().year,datetime.date.today().month,1)-datetime.timedelta(1)

2.2.6 字符串日期格式化为秒数

返回浮点类型

expire_time = "2013-05-21 09:50:35"d = datetime.datetime.strptime(expire_time,"%Y-%m-%d %H:%M:%S")time_sec_float = time.mktime(d.timetuple())print time_sec_float

2.2.7 日期格式化为秒数

返回浮点类型

d = datetime.date.today()time_sec_float = time.mktime(d.timetuple())print time_sec_float

2.2.8 秒数转字符串

time_sec = time.time()print time.strftime("%Y-%m-%d %H:%M:%S", time.localtime(time_sec))

 

中国姓名汉语拼音字典大全 + 所有生日日期字典 中国姓名汉语拼音字典大全打包下载,合计几百万个,包括大小写、任何姓名,拼音形式的字典;另外包含所有合理生日日期字典;可以使用暴力破解工具(如“hashcat”等)的组合破解模式,生成合成字典,用于密码跑包破解! 立即下载

相关推荐

生日日期字典1980-2010

生日日期字典从1980到2010段,看对大家是否有用,练习用。

【python学习】基础篇-字典的基本操作 获取当前日期时间

定义字典时,每个元素都包含两个部分“键”和“值”,在“键”和“值”之间使用冒号(:)分隔,相邻两个元素使用逗号分隔,所有元素放在一个大括号“{}”中。key1、key2、keyn 为元素的键,必须是唯一的,并且不可变的,可以是字符串、数字或者元组。value1、value2”、”valuen 为元素的值,可以是任何数据类型,不是必须唯一。由于字典是可变序列,所以可以随时在其中添加“键值对”,这和列表类似。4.遍历字典遍历字典,可以通过 key 值、value 值进行遍历。1.字典的定义与创建。

邑轻辰的学习笔记 1117

KANO分析模型

KANO分析模型的基本概念,目的意义,应用场景,实现方法和示例等

JasonH2021的博客 3066

常用日期字典生成代码

日常在数据处理过程中,经常会用到日期字典,下述代码将常用日期字典字段信息生成,纯sql版,方便 select      rn as id                -- 唯一主键                    ,iso_date as iso_date          -- 日期 yyyy-MM-dd格式         ,dayofweek as dayofweek       ...

yangws2004的博客 1374

从拧螺丝到精密装配:三菱伺服电机扭矩控制在工业自动化中的实战解析

本文深入解析三菱伺服电机扭矩控制在工业自动化中的实战应用,重点介绍MR-J4系列伺服系统的高精度扭矩响应技术。从螺丝紧固到精密装配,详细讲解扭矩控制模式的选择、硬件配置、参数设置及典型故障排查方案,帮助工程师提升生产效率和产品质量。

weixin_29186249的博客 470

如何在两台电脑间,实现zotero文件和数据两种类型的双向同步

在完成本文配置后,可以在两台不同的电脑间,通过两步简单操作实现zotero数据和文件的双向同步,并且全程免费首先,打开zotero->编辑->首选项->高级->文件与文件夹,配置链接附件根目录以及数据存储位置,前者将pdf文件通过相对地址形式存于zotero中(而非真正的pdf文件),后者则是设置用户本地数据的地址建议设置在数据盘D盘,可以避免后续对盘名的修改(因为基本每个电脑都存在C盘和D盘)然后,同一页面下,打开同步,配置数据以及文件同步方式。数据同步保持默认即可,文件同步选择WebDav,然后去坚果云

weixin_43008154的博客 1万+

日期生成器

一.日期生成器截图: 二.日期生成器使用说明: 日期:以yyyy-MM-dd HH:mm:ss格式传入日志值,可为空,为空时取当前日期时间; 时增量:在输入日期或当前日期后m小时,可为负数; 分增量:在输入日期或当前日期后n分钟,可为负数; 格式化模板:不传时为yyyy-MM-dd HH:mm:ss; 目标变量名:如上图会随机生成一个手机号存放到phone变量中,使用时,以${phone}这种形...

Radioman-lhq的博客 4277

VScode+MPLAB AI助手:Microchip MCU开发全流程实战解析

本文详细解析了如何使用VScode搭配MPLAB AI助手进行Microchip MCU开发的完整流程。从环境配置、工程创建到代码生成与调试,全面介绍了AI助手在提升开发效率、优化代码和故障排除方面的实际应用,为嵌入式开发者提供了一套高效的开发解决方案。

hh234的博客 1131

Python进阶(二)初识Python数据元素:字典&时间

字典(dic dictionary)是除列表之外python中最灵活的内置数据结构类型。列表是有序的对象结合,字典是无序的对象集合。两者之间的区别在于:字典当中的元素是通过键来存取的,而不是通过偏移存取。字典由键和对应的值组成。字典也被称作关联数组或哈希表。dict = {dict1 = {dict2 = {每个键与值必须用冒号隔开(😃,每对用逗号分割,整体放在花括号中{}。键必须独一无二,但值则不必;值可以取任何数据类型,但必须是不可变的,如字符串,数或元组。

IT全栈 华强工作室 4万+

17、激光切割焦点位置和入射角对切割质量的影响研究

本研究通过响应面方法(RSM)结合Box-Behnken设计,系统分析了激光功率、切割速度和气体压力对SS 304不锈钢激光切割质量的影响,重点探讨了三种不同喷嘴在不同聚焦条件下的切缝比和条纹深度变化规律。实验结果表明,激光功率、切割速度和气体压力对切割质量具有显著影响,且不同喷嘴因焦点位置差异表现出不同的响应趋势。通过回归建模与优化,确定了最小激光功率、适中切割速度和最大气体压力为最优参数组合,可实现最小切缝比和较优条纹深度。研究为实际激光切割工艺提供了科学的参数选择依据和操作流程建议,有效提升了切割精度

mm9012的博客 125

SAP_ABAP_SD_BAPI清单案例教程——销售订单开票_BAPI_BILLINGDOC_CREATEMULTIPLE_VF01_S4版本

SAP BAPI(Business Application Programming Interface)是SAP系统中的一组规范和标准,用于从SAP系统中获取数据、输入数据和更新数据。这些API允许开发者以编程方式与SAP系统交互,而无需编写大量的自定义代码。2.1 Copy代码 直接可使用。2.2 VF01开票。

java_zhong1990的专栏 2214

Python进阶(二)-初识Python数据元素:字典&时间

分享一下我的偶像大神的人工智能教程!http://blog.youkuaiyun.com/jiangjunshow 也欢迎转载我的文章,转载请注明出处 https://blog.youkuaiyun.com/mm2zzyzzp Python进阶(二)-初识Python数据元素:字典&时间 3字典 3.1字典简介   字典(dic dictionary)是除列表之外p...

mm2zzyzzp的博客 245

innovus:Patch Wire(补丁线)

1)选中wire ,shift+A使用Edit Route功能,F3打开edit route对话框。线道Create Patch Wire,设置好层次和宽度。在修补一些min area的drc时,会有一些danling wire的drc冒出来,为了避免这些假错,可以使用工具patch wire功能。2)沿着选中的wire画线即可。如下图,patch wire和regular wire是能看出区别的。我正在「拾陆楼」和朋友们讨论有趣的话题,你⼀起来吧?

m0_61544122的博客 1963

Python字典添加元素

手动推荐知识点 字典创建-> 创建字典(7种方式) 删除元素-> 字典删除元素(6种方式) 修改元素-> 字典修改元素(4种方式) 遍历元素-> 字典遍历元素(4种方式) 查找元素-> 字典查找元素(3种方式) 本文使用代码 book_dict = {"price": 500, "bookName": "Python设计", "weight": "250g"} 第一种方式:使用[] book_dict["owner"] = "tyson" 说明:中.

王员外的博客 42万+

【报错解决】OpenClaw 报错 `openclaw: command not found`:全局命令未加入系统 PATH 的深度排查与修复指南

在国产AI工具链开发中,OpenClaw作为关键命令行工具常出现command not found报错。本文深度分析该问题的根源——Linux环境变量PATH未包含用户级安装目录(~/.local/bin)。通过四种解决方案(临时PATH修改、永久配置、软链接、虚拟环境处理)和排错Checklist,揭示"命令存在却找不到"的本质是路径配置问题,特别适用于Docker/国产Linux/非root环境。文中强调理解Linux工具链机制对国产AI开发的重要性,并指出这是开发者掌握环境

博客 5382

android 蓝牙通讯demo

android 下蓝牙通讯demo,实现了发现蓝牙,使能蓝牙,通过蓝牙发送消息。

Python进阶(一)初识Python数据元素:列表&元组

毕业论文已完成,下面就是等待盲审结果了。在此期间,已感觉论文无从看起。就学习一下Python吧,听说这是一门很神奇的语言。下面言归正传~点击查看IDE:IntelJ。有关IntelJ的安装与注册详见博文《IntelliJ IDEA 2016注册方法和注册码》。下面介绍一下Python中几种不熟悉的数据元素:列表、元组、字典、时间。

IT全栈 华强工作室 4万+

文档:亲测可用解决vnc灰屏,黑屏,鼠标大黑叉情况

主要解决vnc-viewer灰屏,黑屏,鼠标大黑叉等现象,详细见文档。

Python数据结构——字典

本文讲解Python数据结构的字典操作。字典的键值对、字典的创建、字典的常用操作方法和函数。

Morse_Chen的博客 2万+

霍尼韦尔SoftMaster使用说明

霍尼韦尔SoftMaster使用说明

温度PID控制PLC程序

温度PID稳定控制程序,适用于欧姆龙PLC,对其他PLC也具有很大参考价值

python 利用字典对列表中元素个数计数

方法一:利用字典的get函数,get表示根据字典的key取它的value值,如果该key不存在,则value值会默认为get的第二个参数。 values=[1,2,3,2,3,1,4] values_cnt={} for value in values: value_cnt[value]=values_cnt.get(value,0)+1 方法三:定义一个新的计数字典,用来放元素及其个...

jinnajinna的博客 3万+

python字典添加元素和删除元素

python字典添加元素和删除元素 添加字典元素 方法一:直接添加,给定键值对 复制代码 #pycharm aa = {‘人才’:60,‘英语’:‘english’,‘adress’:‘here’} print(aa) # {‘人才’: 60, ‘英语’: ‘english’, ‘adress’: ‘here’} #添加方法一:根据键值对添加 aa[‘价格’] = 100 print(aa) # {‘人才’: 60, ‘英语’: ‘english’, ‘adress’: ‘here’, ‘价格’: 10

wps9110的博客 8581

Python之字典查找元素

0、首先,遍历也是查询的一种,是每个元素都要访问一次的查询办法 1、该文中,将不再谈遍历,只谈访问某一个元素的办法 2、两种方式,以及相关的坑,都写在下面了 # -*- coding=utf-8 -*- smart_girl = {"name":"yuan wai", "age": 25} if __name__ == "__main__": print smart_girl ...

王员外的博客 4万+

Python:集合&列表&元素&字典

集合 集合是一个无序的不重复元素序列。 创建空集合set() 可以使用大括号 { } 或者 set() 函数创建集合,注意:创建一个空集合必须用 set() ,因为 { } 是用来创建一个空字典。 如 b=[1,3,42,12,1,4,3] c={1,3,42,12,1,4,3} a =set(b) print("集合a:{},\n集合c:{}".format(a,c)) 输出 集合a: {1,...

eagle2728的博客 1152

二、Python 列表、元组、字典、集合区别

通过理解各数据类型的底层实现和特性,可在实际开发中选择最优结构,提升代码效率与可读性。

weixin_46190208的博客 1万+

Python字典添加元素的几种方法

这篇文章主要介绍了Python之字典添加元素的几种方法,文中通过示例代码介绍的非常详细,需要的朋友们下面随着微点阅读小编来一起学习学习吧1. 字典是另一种可变容器模型,每个键值对用冒号 (:) 分割,每个键值对之间用逗号 (,) 分割,整个字典由花括号 {}包围;2. 字典中的键一般是唯一的,如果重复则后面的一个键值对会覆盖前面的,不过字典的值不需要唯一;3. 值可以取任意数据类型,但键必须是不可变类型,例如字符串,数字或元组,但不能是列表因为列表可变。

hdxx2022的博客 3万+

Python精讲:在Python中添加、修改、删除和更新字典元素详解

欢迎你来到站长在线的站长学堂学习Python知识,本文学习的是《在Python中添加、修改和删除字典元素详解》。本知识点主要内容有:在Python中添加字典元素、在Python中修改字典元素、在Python中删除字典元素、在Python中更新字典元素。

站长在线在优快云 2万+

python进阶之——对字典元素的命名,统计和排序

问题1: form collections import namedtuple Student=namedtuple('Student',['name','age','sex','email']) s=Student('jim',10,'male','jim@sina.com') s.name s.age s.sex s.email 问题2:如何统计序列中元素出现的频度  ...

大白 1852

python字典:揭秘无序元素的奥秘之旅

带你走进 python 字典的奥秘,超级详细哦

不能再留遗憾了的博客 634
上一篇: 网易二面:CPU狂飙900%,该怎么处理?
下一篇: Python 进阶 (三) 函数式编程之 reduce()
wrr-cat
博客等级 码龄9年 128粉丝 302原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值