set集合:
set是一个无序,不重复元素的集合。可嵌套列表,字典(可以for循环或者迭代的对象)。

######差集:
a={11,22}
b={22,33}
c=a.difference(b) #a中存在,b中不存在
d=b.difference(a) #b中存在,a中不存在
print(c) -- {11}
print(d) --{33}
####增删
集合add方法:是把要传入的元素做为一个整个添加到集合中,例如:
>>> a = set('boy')
>>> a.add('python')
>>> a
set(['y', 'python', 'b', 'o'])
#####集合update方法:是把要传入的元素拆分,做为个体传入到集合中,例如:
>>> a = set('boy')
>>> a.update('python')
>>> a
set(['b', 'h', 'o', 'n', 'p', 't', 'y']) #删除元素
#随机移除某个元素,没有会报错
b={11,22,33}
ret=b.pop()
print(b) print(ret)
#删除一个元素,没有不会报错
d={1,2,3,4,5}
d.discard(2)
print(d) #接收可以被for循环(可迭代)的对象
list = [1,2,3,4,5]
set1={1,2}
set.update(list)
print(set1)
实例:
找出两个字典变化的值
old_dict={ "#1":4, "#2":8, "#4":4, }
new_dict={ "#1":8, "#2":8, "#3":4, #加逗号肯定不会报错,不加可能会有错误 }
#取值,取出字典的key
old_key=old_dict.keys() new_key=new_dict.keys()
#将key转换成集合
old_set=set(old_key) new_set=set(new_key)
#新中存在,旧的不存在,打印出需要删除的
remove=old_set.difference(new_set) print(remove)
#需要更新的,
update=new_set.difference(old_set) print(update)
#需要添加的
add=old_set.difference(new_set) set1=set([2,3,4,5])
set2=set("hello")
#集合无法通过数字进行索引。
print(set2)
#并集,差集,交集和对称差集
a=set1|set2
b=set1&set2
c=set1 - set2
d=set1 ^ set2 #增删改查
set1.add('x') #添加一个元素
set1.update([6,7,8]) #添加多项
print(set1)
#测试set1中的每个元是否都在set2中
set1.issubset(set2)
set1<=set2
#测试set2中的每个元是否都在set1中
set1 >= set2

列表:list是一种有序的集合,可以随时添加和删除其中的元素。
   用一个变量存储更多的值

eg: name=['sz','yz','xz']
num=[1,2,3,4,5,6,7,8,9,1,23,4,5,54,5,5]
#可以通过下标查找元素,下标从0开始
>>>num[-1] #-1代表列表中最后一个元素
>>>5
>>>num[0] #第一个元素
>>>1
>>>num[-3] #取出列表倒数第三个元素
>>>54
##如果取值的下标超过列表的总长度就会报错
****下标是从0开始
###############
#返回的值是True或false
print(3 in num)
#查看列表中有几个5
print(num.count(5))
#查看一个元素在列表中的下表,找到第一个值以后,不会继续查找,直接返回第一个值的下表
print(num.index(5))
#通过len()内置函数可以查看列表的元素个数
len(num)

####切片

user=['zhangsan','lisi','liuwu','zhaoliu','wangqi',1,2,3,4]
#打印出下标2到8的元素
print(user[2:8])
print(user[0:3]) #取0到第3个元素,不包含第4个,0可以不写
print(user[:-3]) #打印从0到倒数第3个元素
print(user[-3:]) #取最后三个元素
print(user[::2]) #跨步取值

###增删改查

增加:
user=['zhangsan','lisi','liuwu','zhaoliu',1,2,1,'wangqi',1,2,3,4]
user.append("test") #在列表最后追加一个元素
删除:
#删除为1的元素,如果有多个1,那么删除从左往右的第一个。
user.remove(user[1])
#删除一个内存中的数据,删头不删尾
del user[3:4] 更改:
user[1]='coffee' #将第二个元素改为coffee
user1 = ['a','b','c','d']
user2 = ['e','f','g','h']
#插入数据
user.insert(1,user1) #插入一个数据,下标为1
user.insert(3,user2) #插入一个数据,下标为3
#统计
user.count('') #统计1元素的个数
user.sort() #将列表排序
user.reverse() #将列表反转

#遍历列表

for i in user:
print(i) #实例 循环更改列表中元素的值
num = [1,2,3,4,5,3,[3,3,3],6,7,7,8,9,9,9,9,9,5,6,6,6,7]
#num.count统计列表中这个元素有几个
#这里有几个,就循环几次
for i in range(num.count(9)):
#这里统计每个元素的下表是几
real = num.index(9)
#通过下标来更改元素的值
num[real] = 'HHHHHHHHHHH'
#打印
print(num)
############################
实例: 将新列表合并到num列表里
num = [1,2,3,4,5,3]
num1 = ['zeng','xian']
num.extend(num1)
print(num)

元组
另一种有序列表叫元组:tuple。tuple和list非常类似,但是tuple一旦初始化就不能修改。
tuple一旦初始化,就不能更改

例如
name=('test','study')
同样可以通过下标来查询
name[0]
name[1]
如果定义只有1个元素的元组
t1 = (1)
这里就会有歧义,你定义的不是元组,是1这个数,()当成了数学中的括号,所以你在定义一个元素时,后面要加一个逗号。
t1 = (1,)
tuple = (1,2,3)
n1,n2,n3=tuple #把n1,n2,n3分别赋值给元组中的1,2,3个元素
print(n1,n2,n3)

字典: 无序,使用键值对存储,具有极快的查找速度。
dict特点:
查找和插入的速度极快,不会随着key的增加而变慢;
需要占用大量的内存,内存浪费多。
list:
查找和插入的时间随着元素的增加而增加;
占用空间小,浪费内存很少。

info = {'name':'zeng','job':'IT','age':''}
print("查看key为name的value: ",info['name']) #查看key为name的value
info['job']='devs' #将job的value重新赋值
info['city']='bj' #如果字典中有city这个key就把对应的value改成bj,如果没有,就创建一个key-value
info.pop('age') #删除key为age的数据,跟del info['age']一样
info.popitem() #随机删除一条数据,如果dict为空时,此语法会报错
info.items() #将dict的key value转换为列表的形式显示
print(info.get('nme')) #如果字典中存在name这个key,则返回对应的value否则返回None。
print(info.get('nmna','没有这个key!')) #如果字典中存在name这个key,则返回对应的value否则返回自定义的值
info.clear() #清空字典
info.fromkeys([1,2,3],'hehe') #根据列表来创建dict的key,后面hehe是默认的value,不加是None
info.setdefault('name','nm') #如果字典里存在name这个key,则返回value,否则创建一个叫name的key,并将value设置为nm。
#用dict2这个字典去更新info,如果存在相同的key,那么使用dict2中的key,如果dict2中的key在info没有。那么创建相应的记录
dict2={'k':1,'h':2}
info.update(dict2)
print(info)

####遍历字典的方法

#1.for循环打印出字典中的key
for i in info:
print(i) #2.首先把字典转换为列表。并把key value值转换为元组,所以你可以在每次循环时赋值两个变量进去。
c=info.items()
print(c)
for a,b in c:
print(a,b)

Python(set/list/dict/tuple)的更多相关文章

  1. python(set、dict)

    一.集合 它的元素是唯一的,并无序的. 1.集合定义 s = set() s = {1, 2, 3} 2.集合的方法 update版本的集合运算是在原集合上进行修改,返回值为None. add()表示 ...

  2. 一张图认识Python(附基本语法总结)

    一张图带你了解Python,更快入门, Python基础语法总结: 1.Python标识符 在 Python 里,标识符有字母.数字.下划线组成. 在 Python 中,所有标识符可以包括英文.数字以 ...

  3. 一、python (int & str 的方法)

    1.变量:命名与使用 #!/usr/bin/env/ python # -*- coding:utf-8 -*- name = 'liQM' 只能包含字母.数字或下划线: 第一个字符不能是数字: 简短 ...

  4. python(For/while循环语句)

    一.循环语句 1.while循环 当我们在python中需要重复执行一些动作的时候,这时我们就要用到循环 while循环的结构,当条件成立的时候,就会执行里面的代码 while循环不断的运行,直到指定 ...

  5. python(面向对象-类封装调用)

    一.面对对象思想 (1)大家肯定听过 Python 中”一切皆对象“的说法,但可能并不了解它的具体含义,只是在学习的时候听说 Python 是面向对象的编程语言,本节将向大家详细介绍 Python 面 ...

  6. Python(循环语句与数据类型)

    循环语句 对于python来说 基本上循环用的两个 wile 跟静态语言相似 下来是for循环 这个就跟静态语言大大不同了 wile 条件:–>while 循环也就是 当条件为真的时候会一直循环 ...

  7. python 函数 参数 (难点传入dict list)

    --使用参数组可以传值列表,字典:格式 #-*-coding:utf-8-*- def func5(x,*s,**gs): print(x) print(s) print(gs) print '*'* ...

  8. python中的list, dict, tuple以及collections模块的基本用法

    1.关于list的一些基本用法 # 创建没有初值的列表 list1=[] # 创建有初值的列表 list2=['this','is','a','list'] # 创建给定长度但初值不确定的列表 lis ...

  9. Python(^^^^^小技巧^^^^^——不定期更新)

    偶然想到的小技巧 ''' 交互中对传入函数的参数的数目进行检测 ''' def func(a,b,c): print(a,b,c) s=input(">>>>:&qu ...

随机推荐

  1. python用直方图规定化实现图像风格转换

    以下内容需要直方图均衡化.规定化知识 均衡化:https://blog.csdn.net/macunshi/article/details/79815870 规定化:https://blog.csdn ...

  2. Python实用笔记 (16)函数式编程——偏函数

    假设要转换大量的二进制字符串,每次都传入int(x, base=2)非常麻烦,于是,我们想到,可以定义一个int2()的函数,默认把base=2传进去: def int2(x, base=2): re ...

  3. 洛谷 P1025 【数的划分】

    进入正题 思路:递归 这道题有点像放苹果: 把M个同样的苹果放在N个同样的盘子里,允许有的盘子空着不放,问共有多少种不同的分发(5,1,1和1,1,5是同一种方法) 转化一下就有: 把n个苹果放在k个 ...

  4. POJ 3631 Cow Relays Floyd+矩阵快速幂

    题目描述 For their physical fitness program, N (2 ≤ N ≤ 1,000,000) cows have decided to run a relay race ...

  5. Django---进阶6

    目录 聚合查询 分组查询 F与Q查询 django中如何开启事务 orm中常用字段及参数 数据库查询优化 图书管理系统 作业 聚合查询 # 聚合查询 aggregate ""&qu ...

  6. 蕴含式(包含EXISTS语句的分析)

    *{ font-family: STFangSong; outline: none; } 蕴含式 一.蕴含式基础 (Ⅰ)什么是"蕴含式" 设p.q为两个命题.复合命题"如 ...

  7. python 装饰器(六):装饰器实例(三)内置装饰器

    内置的装饰器和普通的装饰器原理是一样的,只不过返回的不是函数,而是类对象,所以更难理解一些. @property 在了解这个装饰器前,你需要知道在不使用装饰器怎么写一个属性. def getx(sel ...

  8. python 面向对象专题(十一):特殊方法 (四)__get__、__set__、__delete__ 描述符(四)描述符用法建议

    使用特性以保持简单 内置的 property 类创建的其实是覆盖型描述符,__set__ 方法和__get__ 方法都实现了,即便不定义设值方法也是如此. 特性的__set__ 方法默认抛出 Attr ...

  9. Python函数05/内置函数/闭包

    Python函数05/内置函数/闭包 目录 Python函数05/内置函数/闭包 内容大纲 1.内置函数(二) 2.匿名函数及内置函数(重要) 3.闭包 4.今日总结 5.今日练习 内容大纲 1.内置 ...

  10. 3dTiles 数据规范详解[4.2] i3dm瓦片二进制数据文件结构

    i3dm,即 Instanced 3D Model,实例三维模型的意思. 诸如树木.路灯.路边的垃圾桶.长椅等具有明显 重复 特征的数据.这类数据用得较少(笑,现在都喜欢搞BIM.倾斜摄影.精模.白模 ...