Python集合&字典

@

字典

字典的几种定义方式

第一种

字典{key1 : value1, key2 : value2, ......}

dict1 = {'one': 1, 'two': 2}

第二种

使用工厂函数,用元组操作。

dict2 = dict(((1,2), (3, 4), (5, 6), (7,8)))

需要用到这么多括号的原因:

  • 第一层括号是dict的括号,里面需要一个元素。
  • 第二层括号就是为了把四个元组变成一个对象给dict
  • 第三层括号是元组的括号

第三种

还是使用工厂函数dict,但是是用"="操作

字典dict(key1 = value1, key2 = value2, ......)

dict3 = dict(one = 1, two = 2, three = 3)

键值key不能随便改格式,解释器会自动将键值转换为字符串存储。

字典的一些基本操作

通过key得到value

value = dict3[key]
value = dict3.get(key)

增加字典键值对

dict3[new_key] = new_value
dict3.update(dict2)

此时Python会自动创建键值对

删除字典键值对

dict3.pop(key)

会返回与之对应的键值

格式化操作

dict4.formkeys((1, 2, 3),'num')

新建一个字典dict4然后所有的key都对应'num'

清空字典

辨析dict3 = {}dict3.clear

前者是把dict3指向一块新的内存,不再管原来的字典,若原来的地址未被其它引用指向,将会被Python的垃圾自动回收机制清空,如果有引用,将不会被清空。

后者是直接将dict3指向的那块内存清空。

复制字典

辨析dict4 = dict3dict4 = dict3.copy

前者并未开辟一块新内存,后者开辟了,底层原理同上,懂得都懂。

遍历字典

遍历key

for eachkey in dict3.keys():
print(eachkey)

遍历value

for eachvalue in dict3.values():
print(eachvalue)

遍历键值对

for eachitems in dict3.items():
print(eachitems)

成员资格判断

key in dict3

返回值为bool类型

集合

集合的定义方式

num = {1, 2, 3, 6, 8, 7, 4, 9, 10, 16, 17, 14, 2, 4}

用大花括号即可定义

往集合里面添加元素

num.append(10)

集合里面删除元素

num.pop()
##随机删除一个
num.remove(4)
##删除4

注意:集合会自动排序,操作时要注意。

Python集合&字典的更多相关文章

  1. Python集合字典运算符

    1.集合2.字典3.运算符优先级 1.集合 创建:{} set([]) 注意:创建空的集合要用set()   特点:元素唯一,无序   运算: & 交集 | 并集 - 差集   方法:   s ...

  2. Python中字典和集合

    Python中字典和集合 映射类型: 表示一个任意对象的集合,且可以通过另一个几乎是任意键值的集合进行索引 与序列不同,映射是无序的,通过键进行索引 任何不可变对象都可用作字典的键,如字符串.数字.元 ...

  3. python集合与字典的用法

    python集合与字典的用法 集合: 1.增加  add 2.删除   •del 删除集合 •discard(常用)删除集合中的元素  #删除一个不存在的元素不会报错 •remove 删除一个不存在的 ...

  4. python基础—字典

    阅读文本需要3分钟,不建议跳读 节目清单 字典是python中最重要的数据类型,字典由“键-值”对组成的集合,字典中的“值”通过“键”来引用.这里将介绍字典的定义.访问.排序等功能. 字典的创建 字典 ...

  5. 深入Python(1): 字典排序 关于sort()、reversed()、sorted()

    http://www.cnblogs.com/BeginMan/p/3193081.html 一.Python的排序 1.reversed() 这个很好理解,reversed英文意思就是:adj. 颠 ...

  6. python集合可以进行相减

    python集合可以进行相减 student = {'tom','jim','mary','tom','jack','rose'} print(student) print('rose' in stu ...

  7. Python集合类型的操作与应用

    Python集合类型的操作与应用 一.Python集合类型 Python中的集合类型是一个包含0个或多个数据项的无序的.不重复的数据组合,其中,元素类型只能是固定数据类型,如整数.浮点数.字符串.元组 ...

  8. Python - 集合 - 第十一天

    Python 集合 集合(set)是一个无序的不重复元素序列. 可以使用大括号 { } 或者 set() 函数创建集合,注意:创建一个空集合必须用 set() 而不是 { },因为 { } 是用来创建 ...

  9. python中字典排序

    一.Python的排序 1.reversed() 这个很好理解,reversed英文意思就是:adj. 颠倒的:相反的:(判决等)撤销的 print list(reversed(['dream','a ...

随机推荐

  1. JVM详解(四)——运行时数据区-堆

    一.堆 1.介绍 Java运行程序对应一个进程,一个进程就对应一个JVM实例.一个JVM实例就有一个运行时数据区(Runtime),Runtime里面,就只有一个堆,一个方法区.这里也阐述了,方法区和 ...

  2. linux系统(centos)下su和sudo命令的区别

    linux系统(centos)下su和sudo命令的区别 区别 我们在日常使用过程中,这2个命令很多时候能达到相同的效果,对细节区别十分模糊,这里进行简单的解释和区分.希望大家能够正确使用这2个命令, ...

  3. 重学c#系列——list(十二)

    前言 简单介绍一下list. 正文 这里以list为介绍. private static readonly T[] s_emptyArray = new T[0]; public List() { t ...

  4. VS2019 及 Visual Assist X 安装配置

    Visual Studio 2019 安装 下载 https://visualstudio.microsoft.com/zh-hans/downloads/ 安装 设置 扩大 Solution Con ...

  5. Java基础-Java8新特性

    一.Lambda表达式 在了解 Lambda 之前,首先回顾以下Java的方法. Java的方法分为实例方法,例如:Integer的equals()方法: public final class Int ...

  6. mybatis自定义分页拦截器

    最近看了一下项目中代码,发现系统中使用的mybatis分页使用的是mybatis自带的分页,即使用RowBounds来进行分页,而这种分页是基于内存分页,即一次查出所有的数据,然后再返回分页需要的数据 ...

  7. elasticsearch入门(简单的crud操作)

    记录一下,elasticsearch从创建索引到插入数据的一个crud操作. 一.创建索引 curl -XPUT "http://192.168.99.1:9200/productindex ...

  8. 单片机stm32F103单片机晶振不起振的原因分析

    这是我在做单片机最小系统板时候碰到的问题,之前虽然也做过相似的板子,可是未曾出现过无源晶振不起振的问题.下面是我在遇到问题后的一些检查,排除问题的过程.本人小菜鸟一个,文章中如有错误和不足,还望各位大 ...

  9. DC综合与Tcl语法结构概述

    转载:https://www.cnblogs.com/IClearner/p/6617207.html 1.逻辑综合的概述 synthesis = translation + logic optimi ...

  10. Qt char * 转QString

    1.QString转char * 先将QString转换为QByteArray,再将QByteArray转换为char *. 注意:不能用char *mm = str.toLatin1().data( ...