python集合与字典的用法
python集合与字典的用法
集合:
1.增加 add
2.删除 •del 删除集合
•discard(常用)删除集合中的元素 #删除一个不存在的元素不会报错
•remove 删除一个不存在的元素会报错
•pop随机删除一个值并弹出删除的值
3.clear 清除 #清空集合中的元素,集合还存在
4.in 判断一个元素是否在集合中
5.去重 例:把列表去重 a=[1,2,3,4,1,2] a=list(set(a))
6.set() 设定空集合
7.集合是无序的
8.集合不能装列表、字典等可以修改的数据类型,可以装数字、字符、元组
•可以修改的数据类型:列表、字典、集合
•不可以修改的数据类型:数字、字符串、元组
9.集合运算:& | ^ - issubset issuperset
10.复制 copy
字典:
1.定义字典:
•空字典{}
•非空字典
•zip定义字典(把列表合成字典) 例:list1=["x1","x2","x3"] list2=[77,66,55] d=dict(zip(list1,list2))
2.增加 例:a={} a["s1"]=89
3.修改
•a["s1"]=100
•update 更新 例:a={"m":999} c={"n":666} a.update(c) #如果c在a中存在,则更新,不存在则直接添加
4.删除:del a["s1"] pop popitem clear #pop必须带参数,返回key对应的值 popitem不用写参数
5.查询
•a["s1"]
•get 不报错,有则取出,没有则返回默认值,默认为空
1.集合
#集合的定义
print("集合的定义:")
a=set()
print(a,"空集合")
b={1,2,4}
print(b)
#增加
print("集合的元素增加的用法:")
a.add(1)
a.add(3)
a.add(4)
a.add("")
print(a)
b.add("")
b.add(7)
print(b)
#集合的删除
print("集合删除的用法:")
print("原始集合为",a)
a.discard(3)
print(a,"discard的用法删除元素3,删除一个不存在的元素不会报错")
a.remove(4)
print(a,"remove的用法删除元素4,删除一个不存在的元素会报错")
a.pop()
print(a,"pop的用法,随机删除一个数,并弹出删除的值")
b.clear()
print(b,"clear的用法,清除集合中所有的元素")
del a
#in
a={1,2,3,4}
print("判断元素在不在集合中:")
if 1 in a:
print("1在集合a中")
else:
print("1不在集合a中")
#集合运算 & | ^ - issubset issuperset
print("集合的运算:")
a={1,2,3,4,6,7}
b={3,6,7}
print("原始集合a为%s,原始集合b为%s"%(a,b))
print(a&b,"&的用法(并)") #并
print(a|b,"|的用法(或)") #或
print(a^b,"^的用法(异或)") #异或
print(a-b,"-的用法") #a 减去 a和b的交集
print(a.issubset(b),"issubset的用法") #a是b的子集
print(b.issubset(a))
print(a.issuperset(b),"issuperset的用法") #a是b的父集
2.字典
#定义字典
print("定义字典:")
a={}
print(a,"空字典的用法")
b={1:"a",2:"b",3:"c",4:"d"}
print(b,"非空字典的用法")
list1=["s1","s2","s3"]
list2=[88,77,99]
print(dict(zip(list1,list2)),"zip定义字典的用法,把两个列表压缩转换成字典")
#字典的增加修改
print("字典的增加修改用法:")
print("原始字典a为%s"%a)
a["m"]=100
print(a,"增加的用法,通过键值对赋值增加")
a["m"]=999
print(a,"修改的用法,通过对已经存在的键值对赋值进行修改")
c={"n":666}
a.update(c)
print(a,"update的用法")
#删除
print("删除的用法:")
print("原始的字典为%s"%b) print(b.pop(3),"pop的用法") #pop必须写参数
print(b.popitem(),"popitem的用法") #popitem不用写参数
b.clear()
print(b,"clear的用法")
b={1:"a",2:"b",3:"c",4:"d"}
del b[4]
print(b,"del的用法")
#查询
print("查询的用法:")
b={1:"a",2:"b",3:"c",4:"d"}
print("原始的字典为%s"%b)
#update的用法
dict1 = {'Name': 'yaoyao', 'Age': 20}
dict2 = {'Sex': 'female'}
#将dict2更新到dict1中
dict1.update(dict2)
print(dict1)
print(dict2)
print(b[1],"查询,通过键值对查询")
print(b.get(1,"不存在"),"查询,通过get查询,没有则返回默认值")
print(b.get(7,"不存在"))
print(b.items(),"items的用法")
print(b.keys(),"keys的用法")
print(b.values(),"values的用法")
python集合与字典的用法的更多相关文章
- Python——集合与字典练习
集合与字典练习question1问题描述:有一个列表,其中包括 10 个元素,例如这个列表是[1,2,3,4,5,6,7,8,9,0],要求将列表中的每个元素一次向前移动一个位置,第一个元素到列表的最 ...
- Python 集合、字典、运算符
先区分一下序列类型和散列类型: 序列类型:list.string.tuple,他们中的元素是有序的. 散列类型:set.dict,他们中的元素无序的. 序列类型有序,可以用索引.而散列类型中的元素是无 ...
- python 集合(set)和字典(dictionary)的用法解析
Table of Contents generated with DocToc ditctaionary and set hash 介绍 集合-set 创建 操作和访问集合的元素 子集.超集.相对判断 ...
- Python中的字典与集合
今天我们来讲一讲python中的字典与集合 Dictionary:字典 Set:集合 字典的语法: Dictionary字典(键值对) 语法: dictionary = {key:value,key: ...
- Python列表、集合与字典(3)
目录 一.列表 二.集合 三.字典 一.列表 1. 列表初识 列表的使用为处理特定顺序排列的数据提供了便利,列表元素可以是字母.数字或者其他信息,同时所加元素之间不存在任何关系. 在Pytho ...
- python初识数据类型(字典、集合、元组、布尔)与运算符
目录 python数据类型(dict.tuple.set.bool) 字典 集合 元组 布尔值 用户交互与输出 获取用户输入 输出信息 格式化输出 基本运算符 算术运算符 比较运算符 逻辑运算符 赋值 ...
- python基础之字典dict和集合set
作者:tongqingliu 转载请注明出处:http://www.cnblogs.com/liutongqing/p/7043642.html python基础之字典dict和集合set 字典dic ...
- Python dictionary 字典 常用法
Python dictionary 字典 常用法 d = {} d.has_key(key_in) # if has the key of key_in d.keys() ...
- Python数据类型(字典和集合)
1.5 Dictionary(字典) 在Python中,字典用放在花括号{}中一系列键-值对表示.键和值之间用冒号分隔,键-值对之间用逗号分隔. 在字典中,你想存储多少个键-值对都可以.每个键都与一个 ...
随机推荐
- maven 编译出现初始化异常:com/sun/tools/javac/code/TypeTags
使用的式jdk11 lombok式1.16.4 错误原因:版本不匹配 升级lombok到1.18.4 问题解决
- MySQL中间件之ProxySQL(12):禁止多路路由
返回ProxySQL系列文章:http://www.cnblogs.com/f-ck-need-u/p/7586194.html 1.multiplexing multiplexing,作用是将语句分 ...
- C#字符串。
string类型不能被继承,它是密封类,sealed. 一.字符串的特性. 1.不可变性. class Program { static void Main(string[] args) { stri ...
- c#金额转换成中文大写金额
2018-08-24 转别人 c#金额转换成中文大写金额 /// <summary> /// 金额转换成中文大写金额 /// </summary> /// <param ...
- Netty实战九之单元测试
ChannelHandler是Netty应用程序的关键元素,所以彻底地测试他们应该是你的开发过程的一个标准部分.最佳实践要求你的测试不仅要能够证明你的实现是正确的,而且还要能够很容易地隔离那些因修改代 ...
- Java 原生网络编程.
一.概念 Java 语言从其诞生开始,就和网络紧密联系在一起.在 1995 年的 Sun World 大会上,当时占浏览器市场份额绝对领先的网景公司宣布在浏览器中支持Java,从而引起一系列的公司产品 ...
- 详解bootstrap-fileinput文件上传控件的亲身实践
经理让我帮服务器开发人员开发一个上传文件功能界面,我就想着以前使用过bootstrap-fileinput插件进行文件上传,很不错.赶紧就撸起来了. 1.下载压缩包.插件地址https://githu ...
- js 判断数组中是否有重复值
function arrHasvalue(arr) { var nary = arr.sort(); for (var i = 0; i < arr.length; i++) { if (nar ...
- 利用SurfaceView显示正弦曲线,仿造示波器
众所周知,view是通过刷新来重绘视图的,Android系统通过发出VSYNC信号来进行屏幕重绘,刷新的时间间隔为16ms,如果在16ms内view完成你所需要的所有操作,那么用户在视觉上就不会产生卡 ...
- Android为TV端助力 转载弩的博客
Android.mk简介:Android.mk文件用来告知NDK Build 系统关于Source的信息. Android.mk将是GNU Makefile的一部分,且将被Build System解析 ...