Python基础知识(7):数据基本类型之元组、字典

一、元组

用括号把元素括起来中间用逗号隔开。用逗号分开一些值便可创建元组

1,2,3

结果:

(1, 2, 3)

空元组可以用没有包含任何内容的两个圆括号表示,如()。

1、元素不可被修改,不能进行增加、删除操作

2、建议写元组的时候在右括号的左边加一个逗号,以便与方法区分开来。如(1,2,3,)

一个值加上逗号可以实现一个值的元组,如(43,)

3、元组可以通过索引取值

4、元组也可以通过分片取值,元组的分片还是元组

5、元组可以使用for循环

6、元组、字符串、列表三者之间可以相互转换

s=""
tuple(s)
结果:('', '', '')
list(s)
结果:['', '', ''] l=["a","b","c"]
tuple(l)
结果:('a', 'b', 'c')
str(l)
结果:"['a', 'b', 'c']" t=(5,7,8)
str(t)
结果:'(5, 7, 8)'
list(t)
结果:[5, 7, 8]

7、extend:追加一个元素

8、count:计算元素个数

9、index:按索引获取值

10、元组的一级元素不可修改,但可以修改元组中列表的元素

t=(1,3,[("a","b"),1],"Alice",True,(5,6))
t[2][1]="more"
t

结果:

(1, 3, [('a', 'b'), 'more'], 'Alice', True, (5, 6))

二、字典

定义字典时用大括号,字典由多个键及其对应的值构成的键-值对组成,键-值对也称为项。每个键和它的值之间用冒号隔开,每个项之间用逗号隔开。

1、可以使用dict()函数创建字典

方法一:
items=[("name","Alice"),("age","")]
d=dict(items)
d
结果:
{'age': '', 'name': 'Alice'} 方法二:
d=dict(name="Alice",age="")
d
结果:
{'age': '', 'name': 'Alice'}

2、字典中的值(value)可以是任意值,如字符串、列表、元组等。同时字典中的值也可以嵌套很多层。

info={"k1":"Alice","age":12,3:[3,2,(["more","money"],11),2],"note":"forgot"}

3、列表、字典不能作为键(key)。如果键重复只能保留一个

4、通过键(key)取值

如上面例子中的info["k1"]

5、字典是无序的

6、不能通过分片取值

7、字典可以使用del删除

8、字典可以使用len()获知字典中项(键-值)的数目

9、字典可以使用for循环

for默认循环输出键,使用keys()也可以输出key。如果想要输出值可以使用value()。

info={"k1":"Alice","age":12,3:[3,2,(["more","money"],11),2],"note":"forgot"}

for item in info:
print(item) print("=" * 50) for item in info.keys():
print(item) print("=" * 50) for item in info.values():
print(item) print("=" * 50) #输出项(键-值对)
for k,v in info.items():
print(k,v)

结果:

note
k1
3
age
==================================================
note
k1
3
age
==================================================
forgot
Alice
[3, 2, (['more', 'money'], 11), 2]
12
==================================================
note forgot
k1 Alice
3 [3, 2, (['more', 'money'], 11), 2]
age 12

10、字典方法

(1)clear:清除字典中所有的项

(2)copy:浅复制,返回一个具有相同键-值对的字典

(3)fromkeys:使用给定的键建立新字典,每个键都对应一个默认值None

{}.fromkeys(["name","age"])

结果:

{'name': None, 'age': None}

(4)get:访问字典的项,当访问的项不存在时会报错,访问的键不存在时会返回默认值None

(5)items:把字典中的所有键-值对以列表的方式返回,但项返回时并没有特定的顺序

(6)pop:将对应的键-值对从字典中移除

popitem:随机删除一个项

(7)setdefault:获得与给定键相关的值

当键不存在时,setfault会相应的在字典中国添加;如果键存在,就返回其相对应的值

(8)update:可以利用一个字典的项更新另一个字典的项

Python学习之旅(八)的更多相关文章

  1. 180分钟的python学习之旅

    最近在很多地方都可以看到Python的身影,尤其在人工智能等科学领域,其丰富的科学计算等方面类库无比强大.很多身边的哥们也提到Python非常的简洁方便,比如用Django搭建一个见得网站只需要半天时 ...

  2. Python学习笔记(八)

    Python学习笔记(八): 复习回顾 递归函数 内置函数 1. 复习回顾 1. 深浅拷贝 2. 集合 应用: 去重 关系操作:交集,并集,差集,对称差集 操作: 定义 s1 = set('alvin ...

  3. Python学习系列(八)( 面向对象基础)

     Python学习系列(八)( 面向对象基础) Python学习系列(七)( 数据库编程) 一,面向对象 1,域:属于一个对象或类的变量.有两种类型,即实例变量—属于每个实例/类的对象:类变量—属于类 ...

  4. python学习之旅

    python学习分类 python基础    +- day01——python初始.变量.常量.注释.基础数据类型.输入.if day02——while.字符串格式化.运算符.编码初识 day03—— ...

  5. Python学习之旅(三十八)

    Python基础知识(37):访问数据库(Ⅱ) 二.MySQL MySQL是Web世界中使用最广泛的数据库服务器.SQLite的特点是轻量级.可嵌入,但不能承受高并发访问,适合桌面和移动应用.而MyS ...

  6. Python学习之旅(二十八)

    Python基础知识(27):常用内建模块(Ⅲ) 1.urlblib urllib提供了一系列用于操作URL的功能 url是统一资源定位符,对可以从互联网上得到的资源的位置和访问方法的一种简洁的表示, ...

  7. Python学习之旅(十八)

    Python基础知识(17):面向对象编程(Ⅱ) 获取对象信息 在不知道对象信息的情况下,我们想要去获取对象信息,可以使用以下方法 1.type (1)判断对象类型 >>> type ...

  8. python学习之旅:array 转 list

    最近学习python,记录学习的点滴. >>> import numpy as np >>> a = np.array([[1,2],[3,4]]) >> ...

  9. Python学习之旅--第一周--初识Python

    一:Python是一种什么样的语言? 1.语言的分类: a.编译型语言和解释性语言: 通常所说的计算机语言分为编译型和解释型语言.编译型语言典型的如C,C++,通常在程序执行之前必须经由编译器编译成机 ...

随机推荐

  1. std::vector push_back报错Access violation

    C/C++ code   ? 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 #include < ...

  2. 9 月份 GitHub 上最火的 JavaScript 开源项目!

    推荐 GitHub 上9 月份最受欢迎的 10 个 JavaScript 开源项目,在这些项目中,你有在用或用过哪些呢? 1.基于 Promise 的 HTTP 客户端 Axios https://g ...

  3. 【php】php输出jquery的轮询,5秒跳转指定url

    1.在php中直接输出jquery的轮询,5秒后跳转指定url 2.代码稍微改动,即可在html中使用 3.代码: public function alpha(){ $html = '<!DOC ...

  4. sshpass 实现shell脚本直接加载密登录服务器

    主要命令:sshpass 这个命不是系统自带的,需要安装: # which sshpass/usr/bin/sshpass[root@666 tools]# rpm -qf /usr/bin/sshp ...

  5. Redux 入门到高级教程

    Redux 是 JavaScript 状态容器,提供可预测化的状态管理. (如果你需要一个 WordPress 框架,请查看 Redux Framework.) Redux 除了和 React 一起用 ...

  6. mysql插入报主键冲突,解决方法主键索引重新排序

    1.备份表结构 create table table_bak like table_name; 2.备份表数据 insert into table_bak select * from table_na ...

  7. SQL注入学习资料总结

    转载自:https://bbs.ichunqiu.com/thread-12105-1-1.html  什么是SQL注入 SQL注入基本介绍 结构化查询语言(Structured Query Lang ...

  8. 【iCore1S 双核心板_ARM】例程二十:UART_IAP_ARM实验——更新升级STM32

    实验现象及操作说明: 1.本例程共有两个代码包,APP和IAP,IAP程序功能实现将APP程序升级至STM32中. 2.直接上电或烧写程序将执行升级的APP应用程序. BIN升级文件产生方法: 1.编 ...

  9. Win10连接远程桌面的时候提示您的凭证不工作该怎么办?

    Win10连接远程桌面的时候提示您的凭证不工作该怎么办?Win10连接远程桌面的时候,提示“您的凭证不工作”.原有保存的远程帐号密码无法使用,导致远程登录系统失败.我这里总结下自己解决的方法,分享给大 ...

  10. Github + Hexo 搭建个人博客

    参考博客: 我是如何利用Github Pages搭建起我的博客,细数一路的坑 使用Hexo+Github一步步搭建属于自己的博客(基础) Hexo 准备工作: 本机已安装好 git, npm 和 no ...