元组(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. 2019西湖论剑web wp

    发在正文前 这应该是自己在安全圈摸爬滚打两年多以来第一次正规的ctf比赛.没解出flag,没截图,只提供了一些思路. 遥想往昔,初入大学,带着对PT的向往,一个人穿行在幽暗的图书馆,翻阅啃读一本本安全 ...

  2. dubbo-2.5.6优雅停机研究

    不优雅的停机: 当进程存在正在运行的线程时,如果直接执行kill -9 pid时,那么这个正在执行的线程被中断,就好像一个机器运行中突然遭遇断电的情况,所导致的结果是造成服务调用的消费端报错,也有可能 ...

  3. centos6.6安装Elasticsearch

    1. 安装jar8 yum list java-1.8* sudo yum install java-1.8.0-openjdk* -y java --version 2. 安装elasticsear ...

  4. list.get(0)防止NPE

    package com.chuangjin.p2p; import com.chuangjin.core.utils.JsonUtils; import java.util.ArrayList; im ...

  5. .net数据库实现Excel的导入与导出

    .net数据库实现Excel的导入与导出 参考路径:https://www.cnblogs.com/splendidme/archive/2012/01/05/2313314.html 1.defau ...

  6. Codeforces Round #555 (Div. 3) E. Minimum Array

    题意:b数组可以自由排序,c[i]=(a[i]+b[i])%n. 题目中要求c数组的字典序是最小的.那么我们需要尽量满足前面的c[i],才能使字典序最小. 我们知道a[i]和b[i]都是[0,n-1] ...

  7. s6 传输层

    标题 s6-1 传输层概述(2019-04-06 21:19) s6-2 UDP(2019-04-07 08:39) s6-3 通信模型(2019-04-07 08:47) s6-4 TCP 数据段( ...

  8. 阿里云服务器搭建SS代理教程!!!

    二.搭建教程 1.环境介绍 阿里云服务器ECS(香港): 配置:cpu 1核心.内存 1GB.出网带宽 10Mbps. 系统:CentOS 7.4 64位 2.服务器端搭建 1)使用root用户,分别 ...

  9. mybatis批量更新报错badsql

    mybatis批量更新时语法写的都对,但是报错,需要在连接上面加上allowMultiQueries=true 示例:jdbc:MySQL://192.168.1.236:3306/test?useU ...

  10. 洛谷 p2440木材加工

    #include <iostream>#include <cstring>using namespace std;const int N = 1e5 + 100;int a[N ...