元组(tuple)

用圆括号()标识,定义元组后,元组元素不可修改。如果想修改元组只能重新定义元组。

因为元组不可更改,所以也没有增删改等用法,主要语法就是访问元组元素,遍历元组。

访问元组元素:

 tuple1 = (1, 2, 3, 4)
print(tuple1)
print(tuple1[0]) # 虽然元组是用(),但是当使用索引时还是使用tuple[]。

输出结果:

(1, 2, 3, 4)
1

遍历元组:

用while循环遍历:

 index = 0
while index < len(tuple1):
print(tuple1[index])
index += 1

输出结果:

1
2
3
4

用for循环遍历:

 tuple1 = (1, 2, 3, 4)
for i in tuple1:
print(i)

字典(dictionary)

是一系列键值对,包括在花括号内({}),每个对之间用逗号隔开,键必须是唯一的,值则不必。

字典的增删查改:

  (1)添加键值对

 dic_people = {'name': 'abc', 'color': 'yellow'}
print(dic_people) dic_people['old'] = 18           # 添加键
dic_people['language'] = 'English'    # 添加值 print(dic_people)

输出结果:

{'name': 'abc', 'color': 'yellow'}
{'name': 'abc', 'color': 'yellow', 'old': 18, 'language': 'English'}

  (2)删除键值对

 dic_people = {'name': 'abc', 'color': 'yellow', 'old': 18, 'language': 'English'}
print(dic_people) del dic_people['language']    # 字典使用del语句删除一对键值对 print(dic_people)

输出结果:

{'name': 'abc', 'color': 'yellow', 'old': 18, 'language': 'English'}
{'name': 'abc', 'color': 'yellow', 'old': 18}

  (3)查询字典

 dic_people = {'name': 'abc', 'color': 'yellow', 'old': 18, 'language': 'English'}
print(dic_people)
# print(dic_people[0]) # 字典不能通过索引小标来访问
print(dic_people['old'])
# print(dic_people[18]) # 只能通过键值查询key值,不能通过key值查询

输出结果:

{'name': 'abc', 'color': 'yellow', 'old': 18, 'language': 'English'}
18

  (4)修改字典

 dic_people = {'name': 'abc', 'color': 'yellow', 'old': 18, 'language': 'English'}
print(dic_people) dic_people['old'] = 20
print(dic_people)

输出结果:

{'name': 'abc', 'color': 'yellow', 'old': 18, 'language': 'English'}
{'name': 'abc', 'color': 'yellow', 'old': 20, 'language': 'English'}

遍历字典

  (1)遍历所有的键值对

使用dic.items()

 dic_people = {'name': 'abc', 'color': 'yellow', 'old': 18, 'language': 'English'}

 for key,value in dic_people.items():
# print(key1, value1)
# print(key1 + ':'+ value1) # 注意:使用加号(+)会出错,因为dic_people中old的值是int型
print(key, ':', value)

输出结果:

name : abc
color : yellow
old : 18
language : English

  

  (2)遍历所有的键值

使用dic.keys()

 dic_people = {'name': 'abc', 'color': 'yellow', 'old': 18, 'language': 'English'}

 for key in dic_people.keys():
print(key)

输出结果:

name
color
old
language

  (3)遍历所有的value值

使用dic.values()

 dic_people = {'name': 'abc', 'color': 'yellow', 'old': 20, 'language': 'English', 'length': 18}
for value in dic_people.values():
print(value)

输出结果:

abc
yellow
18
English
18

从上面的示例可以看到输出结果中有重复项,如果我们不想要重复项怎么办?可以使用set(dic.values())

 dic_people = {'name': 'abc', 'color': 'yellow', 'old': 18, 'language': 'English', 'length': 18}

 for value in set(dic_people.values()):   # 去掉重复项
print(value)

输出结果:

English
18
abc
yellow

从上面的几个实例可以看出都是for循环加上字典调用函数实现遍历相应的值,那么不调用函数可以for循环遍历吗?

 dic_people = {'name': 'abc', 'color': 'yellow', 'old': 18, 'language': 'English'}
for key in dic_people:
print(key)

输出结果:

name
color
old
language

可以看出不调用函数的结果是遍历key值,为什么会这样呢?这就涉及到for循环的本质了,在后面的迭代器中会讲的for循环的本质是什么。

python元组和字典的简单学习的更多相关文章

  1. Python的dict字典结构操作方法学习笔记

    Python的dict字典结构操作方法学习笔记 这篇文章主要介绍了Python的dict字典结构操作方法学习笔记本,字典的操作是Python入门学习中的基础知识,需要的朋友可以参考下 一.字典的基本方 ...

  2. Python 学习笔记(九)Python元组和字典(一)

    Python 元组 元组的定义  元组(tuple)是一种Python对象类型,元组也是一种序列 Python中的元组与列表类似,不同之处元组的元素不能修改 元组使用小括号,列表使用方括号 元组的创建 ...

  3. Python元组与字典详解

    Python 元组 Python的元组与列表类似,不同之处在于元组的元素不能修改. 元组使用小括号,列表使用方括号. 元组创建很简单,只需要在括号中添加元素,并使用逗号隔开即可. 如下实例: tup ...

  4. Python模块——loguru日志模块简单学习

    Python loguru模块简单学习 首先安装模块:pip install logoru,然后引入模块: from loguru import logger 1.直接输出到console logge ...

  5. Python 学习笔记(九)Python元组和字典(三)

    字典常用方法 copy() 返回一个字典的浅复制 示例:浅拷贝d.copy() 深拷贝引入import copy   copy.deepcopy() >>> help(dict.co ...

  6. Python 学习笔记(九)Python元组和字典(二)

    什么是字典 字典是另一种可变容器模型,且可存储任意类型对象. 字典的每个键值 key=>value 对用冒号 : 分割,每个键值对之间用逗号 , 分割,整个字典包括在花括号 {} 中 键必须是唯 ...

  7. 列表、元组、字典和简单if语句【python实验1】

    第一次实验报告: 学生姓名 总成绩 tom 90 jack 89 john 96 kate 86 peter 100 实验内容3-1 建立两个列表分别对学生的姓名和总成绩信息进行存储 name=['t ...

  8. python元组与字典

    一.元组 1.元组的表达 (1,2,3,4) ('olive',123) ("python",) 创建元组: a=tuple((1,2,3,)) b=("python&q ...

  9. python——元组和字典类型简明理解

    元组类型: 元祖创建: 不需要括号可以但是一个元素就当成了字符串类型了 >>> tup1="a"; >>> type(tup1) <cla ...

随机推荐

  1. STS中db.properties配置文件

    db.name=root db.password=root db.url=jdbc:mysql://localhost:3306/day13?useUnicode=true&character ...

  2. java之路 定义个一初始值 取它 个位 十位 百位 千位。。的数值。

    class Demo{ public static void main(String[] args){ int i =2584; //do{ int g = i%10; int s = (i%100) ...

  3. 【转】【机器学习】R 正则化函数 scale

    源:http://blog.163.com/shen_960124/blog/static/60730984201582594011277/ 1. 数据的中心化 所谓数据的中心化是指数据集中的各项数据 ...

  4. (摘录)String是值传递还是引用传递

    String应该是一个封装类型,它应该是引用传递,是可以改变值的, 运行的结果应该是”cd”.我们实际运行一下看看, str=ab,这如何解释呢?难道String是基本类型?也说不通呀. 这就要从ja ...

  5. 464. Can I Win

    https://leetcode.com/problems/can-i-win/description/ In the "100 game," two players take t ...

  6. vue 导航守卫,验证是否登录

    路由跳转前,可以用导航守卫判断是否登录,如果登录了就正常跳转,没有登录就把路由指向登录页面. router.beforeEach((to, from, next) => { const next ...

  7. PHP日期格式化函数

    date函数 描述:格式化一个本地时间/日期 语法:string date(string format [,int timestamp]) format字符 说明 format字符 说明 Y 4位数字 ...

  8. Failed to mount component: template or render function not defined.

    Failed to mount component: template or render function not defined. vue-loader13.0有一个变更就是默认启用了esModu ...

  9. 把excel每一行中的数据输出为一个txt文档的VBA函数

    excel vba代码: Sub makeTxt() For i = 1 To 1088'从第1行到1088行(最后一行) On Error Resume Next'出现错误时继续运行脚本 Open ...

  10. 基于继承的 MethodInterceptor 动态代理(换种写法)

    net.sf.cglib.proxy.Enhancer Generates dynamic subclasses to enable method interception. This class s ...