python集合、函数实例
集合
1、list ==》允许重复的集合,可修改
2、tuple ==》允许重复的集合,不可修改
3、dict ==》
4、set ==》不允许重复的集合,相当于不可重复的列表
set
是一个无序的且不重复的元素集合,不能通过下标取值
创建
s=set()
s={11,22,44,55}可以这样创建set
转换
s=set([11,22,22,333])#转换时自动忽略重复的
l=""
s=set(l) s.add(33)添加一个元素
s.clear()清除元素
se={1,2,3,4}
b={4,4,4}
bb=se.difference(b)#找se中存在,b中不存在的的集合,需要用一个新的
#值接收
bb=se.difference_update(b)#找se中存在,b中不存在的的集合,并把值
#赋给se,不用赋给新的值(在原数据中更新)
se={1,2,3,4}
se.discart(5)移除,出错不报错
se.remove(5)移除,出错报错
se={1,2,3,4}
be={0,2,3,6}
ret=se.intersection(be)#取交集
print(ret)
se.intersection_update(be)#取交集在se中更新,(赋值给原数据)
ret=se.isdisjoint(be)#检测是不是无交集,有交集F,无T
se.issubset(be)#检测se是否为be的子集
se.issuperset(be)#检测se是否为be的父集(be是否为se的子集)
ret=se.pop()#ret为移除的值,由于set是无序的,所以删除最后一个值
#也是不确定的
ret=se.symmetrice(be)#把se中存在,be中不存的集合,和be中存在,se中不存
#在的集合赋值给ret(对称差集)
ret=se.symmetrice_difference_update(be)#在se中更新对称差集
ret=se.union(be)#取并集重复的只输出一个
se.update(be)#把be中的集合循环的添加到到se中
se.update([44,33,55])#把这个列表中的数据循环的添加到se中
例题old_dict={"#1":11,"#2":22,"#3":100,}
new_dict={"#1":33,"#4":22,"#7":100,}
将old_dict和new_dict都有的元素用new的更新old的
new_dict有的old_dict没有的添加到old中
将old_dict有的new_dict没有的删除
解题z
old_dict={"#1":11,"#2":22,"#3":100,}
new_dict={"#1":33,"#4":22,"#7":100,}
old_keys=old_dict.keys()
new_keys=new_dict.keys()
old_set=set(old_keys)
new_set=set(new_keys)
del_set=old_set.difference(new_set)
add_set=new_set.difference(old_set)
ass=new_set.intersection(old_set)
for i in old_set:
for k in del_set:
if i==k:
old_dict.pop(i)
for i in old_dict.keys():
for k in ass:
if i==k:
old_dict[i]=new_dict[i]
for i in add_set:
item={i:new_dict[i]}
old_dict.update(item)
print(old_dict)
print(ass)
三目运算,三元运算
if 1==1:
name="alex"
else:
name="eric"
name=值1 if 条件 else 值2
如果"条件"成立就把"值1"赋值给"name"
如果"条件"不成立就把"值2"赋值给"name"
name="alex" if 1==1 else "eric"
print(name)
#str,在内存中,一次性创建,不能被修改,只要修改,就在创建
#就是修改以后就重新创建一个,在指向这新创建的,而那个原来的还在
#只是不用了
#list,只要可以修改的,就是动态的,相当于链表,有下一个元素的位置
#和上一个元素的位置
#如果对列表里的元素进行里修改就重新创建一,它的索引禁指向新创建的
内容
a="alex"
浅拷贝
n1=123
import copy
n2=copy.copy(n1)
id<n1>
id<n2>
此时n1和n2的地址相同,字符串内部有优化机制
深拷贝
n1=123
import copy
n2=copy.deepcopy(n1)
id<n1>
id<n2>
此时n1和n2的地址也相同
数字、字符串
只要是拷贝,赋值
地址都一样

列表,字典,元素、、、、
深拷贝拷贝除了最里面那一层的所有层
浅拷贝拷贝最外面的那一层
过程式编程
函数式编程
创建一个函数
def xx():
print("alex")
return(可以是任意类型的值)
xx()
如果没有写返回值,这对一个函数赋值之后(a=xx())则返回一个None给a
并不是像其他语言的函数一样不返回值
参数
def kd(p)
print(p) p为形参
return True ret =kd("") 实参
print(ret)
python集合、函数实例的更多相关文章
- python第六天 函数 python标准库实例大全
今天学习第一模块的最后一课课程--函数: python的第一个函数: 1 def func1(): 2 print('第一个函数') 3 return 0 4 func1() 1 同时返回多种类型时, ...
- Python回调函数用法实例详解
本文实例讲述了Python回调函数用法.分享给大家供大家参考.具体分析如下: 一.百度百科上对回调函数的解释: 回调函数就是一个通过函数指针调用的函数.如果你把函数的指针(地址)作为参数传递给另一个函 ...
- python迭代器与iter()函数实例教程
python迭代器与iter()函数实例教程 发布时间:2014-07-16编辑:脚本学堂 本文介绍了python迭代器与iter()函数的用法,Python 的迭代无缝地支持序列对象,而且它还允许程 ...
- python集合set{ }、集合函数及集合的交、差、并
通过大括号括起来,用逗号分隔元素,特点 1.由不同元素组成,如果定义时存在相同元素,处理时会自动去重 2.无序 3.元素只能是不可变类型,即数字.字符串.布尔和元组,但集合本身可变 4.可直接定义集合 ...
- Python 集合内置函数大全(非常全!)
Python集合内置函数操作大全 集合(s).方法名 等价符号 方法说明 s.issubset(t) s <= t 子集测试(允许不严格意义上的子集):s 中所有的元素都是 t 的成员 s ...
- Python回调函数用法实例
Python回调函数用法实例 作者:no.body链接:https://www.zhihu.com/question/19801131/answer/27459821 什么是回调函数? 我们绕点远路来 ...
- python 常用函数集合
1.常用函数 round() : 四舍五入 参数1:要处理的小数 参数2:可选,如果不加,就是不要小数,如果加,就是保留几位小数 abs() :绝对值 ...
- python strip() 函数和 split() 函数的详解及实例
strip是删除的意思:split则是分割的意思.strip可以删除字符串的某些字符,split则是根据规定的字符将字符串进行分割. 1.Python strip()函数 介绍 函数原型 声明:s为字 ...
- Python入门-函数的使用到程序的公布安装
Python入门-函数的使用到Python的公布安装 本文主要适合有一定编程经验,至少掌握一门编程语言的人查看. 文中样例大多都是简单到认识英文单词就能看懂的水平,主要讲的是Python的总体使用方法 ...
- Python randrange() 函数
Python randrange() 函数 Python 数字 描述 randrange() 方法返回指定递增基数集合中的一个随机数,基数缺省值为1. 语法 以下是 randrange() 方法的语 ...
随机推荐
- 一个C#面试问题,要求是将字符串中重复字符从第二个开始都去掉,空格除外。然后显示的时候,从后往前显示。
因为C#的code,感觉实现这个还是比较容易,只是SB.所以,在面试时候,以为不会这么容易,所以,我先试着用了Dictionary去实现,发现有困难.然后改回来用StringBuilder实现,这个因 ...
- asyncio标准库5 TCP echo client and server
server import asyncio async def handle_echo(reader, writer): data = await reader.read(100) message = ...
- web开发路径问题解决
使用监听器解决路径问题 监听器:
- win10与子系统ubuntu之间互访文件
在window10的store里面 搜索ubuntu,下载,可以安装 注意: 初次打开有许多软件都没安装,可以新进行 sudo apt-get update,之后在进行其他的操作 1.下载的子系统ub ...
- 四、获取远程URL图片
#!/usr/bin/python # -*- coding: UTF-8 -*- import re import urllib def getHtml(url): page = urllib.ur ...
- 到底哪种类型的错误信息会阻止business transaction的保存
当试图在CRM WebUI保存一个business transaction比如Opportunity时,可能会遇到各种各样的错误消息.有的错误消息会阻止Business transaction被sav ...
- 一、OSI模型
OSI/RM协议是由ISO(国际标准化组织)制定的,它有三个基本的功能:提供给开发者一个必须的.通用的概念以便开发完善.可以用来解释连接不同系统的框架.OSI将计算机网络体系结构(architectu ...
- ACM-百度之星资格赛之Energy Conversion——hdu4823
版权声明:本文为博主原创文章,未经博主同意不得转载. https://blog.csdn.net/lx417147512/article/details/26400079 Energy Convers ...
- 2019年5月训练记录(更新ing)
前言 \(ZJOI\)正式结束了. 但期中考试只考了年级\(216\),退役既视感... 于是就被抓回去补文化课了. 下半个学期可能要以文化课为主了吧! 但周三.周日应该还是会正常参加训练的,但其他时 ...
- c#正则表达式最简demo
各个语言的正则表达式规则略有不同 项目中用到,所以将这个最简单的demo记录 using System; using System.Collections.Generic; using System. ...