Python3基础知识之元组、集合、字典
1、元组
元组特点
元组是不可变的
两个元组可以做加法,不能做减法
元组的方法
>>> S
('a', 'b', 'c', 'd', 'e')
>>> S=('a','b','c','d','e','c','f')
.count(x)统计某个元素在元组中出现的次数
>>> S.count('c')
2
>>> S.count('a')
1
.index(x)从列表中找到某个值第一个匹配项的索引位置
>>> S.index('a')
0
>>> S.index('c')
2
>>>
如果要修改元组就直接用list把元组变成列表
>>> a=(1,2,3,4)
>>> a
(1, 2, 3, 4)
>>> a=list(a)
>>> a
[1, 2, 3, 4]
>>>
同理要将list变成元组只需要用tuple即可
>>> a=tuple(a)
>>> a
(1, 2, 3, 4)
>>>
2、集合
特点
集合是无序的,并且元素不重复,集合是可变对象
>>> S={1,2,3,4,4,5,5,56,6,6}
>>> S
{1, 2, 3, 4, 5, 6, 56}
>>>
不能用a={}来创建集合
创建集合的方法用set函数
创建空集合
>>> b=set()
>>> b
set()
>>> type(b)
<class 'set'>
>>>
集合的属性及方法
s.add()添加单个元素
>>> a
{1, 2, 3, 4}
>>> a.add(10)
>>> a
{1, 2, 3, 4, 10}
>>>
s.update()添加多个元素
>>> b
{3, 4, 5, 6}
>>> b.update((11,22,33,44,55)) #注意update中要用元组
>>> b
{33, 3, 4, 5, 6, 11, 44, 22, 55}
>>>
s.remove()移除元素
>>> a
{1, 2, 3, 4, 10}
>>> a.remove(10)
>>> a
{1, 2, 3, 4}
>>>
s.clear()清空集合
>>> b
{33, 3, 4, 5, 6, 11, 44, 22, 55}
>>> b.clear()
>>> b
set()
>>>
集合运算
交集
>>> a={1,2,3,4}
>>> b={3,4,5,6}
>>> a & b
{3, 4}
并集
>>> a | b
{1, 2, 3, 4, 5, 6}
>>> a - b
{1, 2}
>>>
差集
>>> b -a
{5, 6}
>>>
3、字典
字典的创建:{key:value}
>>> F={'a':1,'b':2}
>>> F
{'a': 1, 'b': 2}
>>>
或者dict(a=1,b=2)
用dict()创建字典,键如果是字符串,则可以不用加引号
>>> D=dict(a=1,b=2)
>>> D
{'a': 1, 'b': 2}
>>>
特点:
1、字典中的元素是无序的
2、不允许同一个键出现两次,即键必须唯一,如果出现两次则最后一次为准
3、键必须不可变,所以可以用数字,字符串或元组充当,而列表就不行,列表时可变的
字典添加和修改
新值对应的键名如果存在,就是修改操作,否则就是添加操作
>>> person=dict(a=1,b=2)
>>> person
{'a': 1, 'b': 2}
>>> person['a']
1
>>> person['a']=100
>>> person['c']=19
>>> person
{'a': 100, 'b': 2, 'c': 19}
>>>
in not in 判断键是否在字典中存在,在返回true,否则返回false
字典的属性及方法
>>> person
{'a': 100, 'b': 2, 'c': 19}
.update({})在字典中添加多个项
>>> person
{'b': 2, 'c': 19}
>>>
>>> person.update({'n':111,'m':222,'h':333})
>>> person
{'b': 2, 'c': 19, 'n': 111, 'm': 222, 'h': 333}
>>>
.items()返回字典的各个项
>>> person.items()
dict_items([('a', 100), ('b', 2), ('c', 19)])
.keys()返回字典的键
>>> person.keys()
dict_keys(['a', 'b', 'c'])
.values()返回字典的值
>>> person.values()
dict_values([100, 2, 19])
>>>
.get(k)如果k存在,则返回k值,否则返回None
>>> person.get('k')
>>> print(person.get('k'))
None
.get(k,x)如果键k在,返回键k的值,不存在则返回x
>>> print(person.get('k','x'))
x
>>>
.pop(k)返回并移除键k所对应的元素,不存在职责抛出异常
>>> person
{'a': 100, 'b': 2, 'c': 19}
>>>
>>> person.pop('k')
Traceback (most recent call last):
File "<pyshell#92>", line 1, in <module>
person.pop('k')
KeyError: 'k'
>>>
>>> person.pop('a')
100
>>> person
{'b': 2, 'c': 19}
>>>
.pop(k,x)返回并移除键k所对应的元素,不存在则返回x
>>> person
{'a': 100, 'b': 2, 'c': 19}
>>> person.pop('k','x')
'x'
>>>
>>> person.pop('a','n')
100
>>> person
{'b': 2, 'c': 19}
>>>
字典的键对应的值如果是整型或者字符串,那么可以直接做加法运算(加要加同样的类型)
>>> person
{'b': 2, 'c': 19, 'n': 111, 'm': 222, 'h': 333}
>>> person['b'] +=10
>>> person['b']
12
>>>
>>> person['e']='abcd'
>>> person
{'b': 12, 'c': 19, 'n': 111, 'm': 222, 'h': 333, 'e': 'abcd'}
>>> person['e'] += 'cool'
>>>
>>> person['e']
'abcdcool'
>>>
4、常用运算符
算术运算符:+,-,*,/,%,**,//
赋值运算符:=,+=,-=,*=,/=,%= **=
比较运算符:==,!=,>,<.>=,<=
成员运算符:in,not in
身份运算符:is,is not
判断两个名字是否指向同一个对象,当id相同是返回True(==比较运算符)
逻辑运算符:and,or,not
and(与)两个条件都满足则成立返回True
or(或)有一个条件满足则成立返回True
not(非)取反
例子练习
一、已知字典ainfo = {'name':'lily','age':20}
1.加入两项使得输出的结果:
ainfo = {'name':'lily','age':20,'gender':'female','class':10}
>>> ainfo.update({'gender':'female','class':10})
>>> ainfo
{'name': 'lily', 'age': 20, 'gender': 'female', 'class': 10}
>>>
2.访问字典中的所有项,访问字典的键,访问字典中的值
>>> ainfo.items()
dict_items([('name', 'lily'), ('age', 20), ('gender', 'female'), ('class', 10)])
>>> ainfo.keys()
dict_keys(['name', 'age', 'gender', 'class'])
>>> ainfo.values()
dict_values(['lily', 20, 'female', 10])
>>>
二、将这三项内容创建字典,按下面规则添加到同一个对象中:
(name = 'lily',age= 20,gender = 'female',class = 10)
(name ='jack',age= 25,gender ='male',class =10)
(name ='jane',age= 19,gender ='female',class =10)
>>> d1={'name':'lily','age':20,'gender':'female','class':10}
>>> d1
{'name': 'lily', 'age': 20, 'gender': 'female', 'class': 10}
>>> d2=dict(name='jack',age=25,gender='male',Class=10) #--->该方法会把键转换成字符串
>>> d2
{'name': 'jack', 'age': 25, 'gender': 'male', 'Class': 10}
>>> d3=dict(name='jane',age=19,gender='female',Class=10)
>>> d3
{'name': 'jane', 'age': 19, 'gender': 'female', 'Class': 10}
>>>
1.将这三项内容创建的三个字典放到一个列表里。
[{},{}]
>>> List=[d1,d2,d3]
>>> List
[{'name': 'lily', 'age': 20, 'gender': 'female', 'class': 10}, {'name': 'jack', 'age': 25, 'gender': 'male', 'Class': 10}, {'name': 'jane', 'age': 19, 'gender': 'female', 'Class': 10}]
>>>
2.将这三项内容创建的三个字典放到一个字典里,要求字典以个人姓名为键,
其他信息组成的字典为姓名这个键所对应的值。(字典里面嵌套字典){'lily':{},'jack':{}}
例如info = {'lily':{'age':20,'gender':'female','Class':10}}
>>> ainfo[d1.pop('name')]=d1
>>> ainfo
{'lily': {'age': 20, 'gender': 'female', 'class': 10}}
>>>
>>> ainfo[d2.pop('name')]=d2
>>> ainfo
{'lily': {'age': 20, 'gender': 'female', 'class': 10}, 'jack': {'age': 25, 'gender': 'male', 'Class': 10}}
>>>
>>> ainfo[d3.pop('name')]=d3
>>> ainfo
{'lily': {'age': 20, 'gender': 'female', 'class': 10}, 'jack': {'age': 25, 'gender': 'male', 'Class': 10}, 'jane': {'age': 19, 'gender': 'female', 'Class': 10}}
>>>
d1.pop('name')取值之后返回name对应的值,剩下的d1就是去掉'name';'lily'之后的部分
Python3基础知识之元组、集合、字典的更多相关文章
- 【python基础】之元组 集合 字典
元组 元组:元组和列表类似.但是元组中的元素是固定的(不能给一个元组添加,删除和替换元素以及重新排序) 1.创建元组 t1 = () #创建一个空元组 t2 = (1, 2, 3) t3 = tupl ...
- Java基础知识强化之集合框架笔记76:ConcurrentHashMap之 ConcurrentHashMap简介
1. ConcurrentHashMap简介: ConcurrentHashMap是一个线程安全的Hash Table,它的主要功能是提供了一组和Hashtable功能相同但是线程安全的方法.Conc ...
- Python基础-列表、元组、字典、字符串
Python基础-列表.元组.字典.字符串 多维数组 nums1 = [1,2,3] #一维数组 nums2 = [1,2,3,[4,56]] #二维数组 nums3 = [1,2,3,4,['a ...
- 菜鸟学IT之python3关于列表,元组,字典,集合浅认识!
作业来源:https://edu.cnblogs.com/campus/gzcc/GZCC-16SE1/homework/2753 一.列表,元组,字典,集合分别如何增删改查及遍历. 列表 # 列表的 ...
- python基础语法3 元组,字典,集合
元组: ========================元组基本方法===========================用途:存储多个不同类型的值定义方式:用过小括号存储数据,数据与数据之间通过逗号 ...
- python3中列表、元组、字典的增删改查说明详解
python基础中的列表.元组.字典属于python中内置的序列数据结构.其中序列可以进行的操作包括索引.截取(切片).加.乘.成员检查等. 1.列表 列表(list)是最常用的python数据类型之 ...
- 学习Python3基础知识过程中总结
print()中end==""的用法 例子:用Python3输出九九乘法表: for i in range(1,10): for j in range(1,i+1): s=i*j ...
- C# 基础知识系列- 3 集合数组
简单的介绍一下集合,通俗来讲就是用来保管多个数据的方案.比如说我们是一个公司的仓库管理,公司有一堆货物需要管理,有同类的,有不同类的,总而言之就是很多.很乱.我们对照集合的概念对仓库进行管理的话,那么 ...
- python基础学习之元组和字典的功能方法
什么是元组?(tuple) emmmmmm,这个没必要深究吧,就是一排'元素',一行 格式: a = (1,2,3,4,5,6,7,8,9)用小括号表示的,极为元组. 其有序,且不可更改,可以对比st ...
随机推荐
- Java笔记:开发环境
Java开发环境 Java是由Sun Microsystems公司于1995年5月推出的Java面向对象程序设计语言和Java平台的总称.由James Gosling和同事们共同研发,并在1995年正 ...
- Oracle相关知识做个总结
一.创建用户: 以系统管理员登陆,右键点击Uers进行新建, 一般:默认空间选择USERS,临时表空间选择TEMP,概要文件选择DEFAULT. 对象权限:不做操作. 角色权限:1.connect 2 ...
- node.js 之 Hello,World in Node !
创建一个js文件,把下面的内容粘贴进去,命名为helloworld.js. //加载 http 模块 var http = require("http"); //创建 http 服 ...
- 第十二章:Python の 网络编程进阶(一)
本課主題 RabbitMQ 的介紹和操作 Hello RabbitMQ RabbitMQ 的工作队列 消息确应.消息持久化和公平调度模式 RabbitMQ的发布和订阅 RabbitMQ的主题模式 Ra ...
- Linux 文本处理工具(grep sed awk )
^test: 以test开头; test$: 以test结尾: ^$: 表示空行,不是空格: . :代表且只代表任意一个字符(其他功能:当前目录,加载文件): \ : 代表转义字符,表示特殊字符: * ...
- ajax struts2 数据的返回形式
这篇随笔算是接上篇的数据请求返回,上一篇关于分页用的返回的数据形式是json,http://www.cnblogs.com/tele-share/p/7192206.html这次主要探讨ajax从st ...
- Django---->模板层(template)
模板层(template) 你可能已经注意到我们在例子视图中返回文本的方式有点特别. 也就是说,HTML被直接硬编码在 Python代码之中. 1 2 3 4 def current_datetime ...
- Flask笔记
# -*- coding: utf-8 -*- from flask import Flask,render_template,request,redirect,session,url_for imp ...
- wifi入侵思路
一.得到wifi密码 系统:Kali Linux 工具:Aircrack-ng,EWSA 方法: 1.WEP加密:deauth攻击:得到足够报文直接破解. 2.WPA加密:deau ...
- Java学习笔记【持续更新】
一个简单的java程序如下: class Sakura { public static void main(String[] arges) { system.out.println("Hel ...