元组,集合,字典笔记整理

一:
1:is 和 == 的区别:
id:是指变量在内存中的存储位置;value:是指变量的值;type:是指变量的类型
当a is b 时为真时,id(a)=id(b),type(a)=type(b),value(a)=value(b)
当a == b 时为真时,value(a)=value(b),type(a)=type(b),id(a)不一定等于id(b)
2:关于拷贝:
拷贝的方式:直接赋值: 如li=li1
切片:如li[:]=li1
copy方法:li.copy()=li1
调用 copy 函数
拷贝的类型:
深拷贝和浅拷贝:(针对与变量中嵌套的可变数据类型)
浅拷贝:相当于从别人那里直接拿来,属性属于别人的,随别人的改变而改变
实现方法: - li.copy()
- li[:]
- copy.copy(li)
例: >>> l=[[‘a’,’b’],1,2]

l1=l[:]
id(l[0])
139984226697864
id(l1[0])
139984226697864
l[0].append(‘c’)
l
[[‘a’, ‘b’, ‘c’], 1, 2]
l1
[[‘a’, ‘b’, ‘c’], 1, 2]
深拷贝:相当于连同属性一同复制过来,属性属于自己,不随别人改变。
实现方法:- copy.deepcopy(li)
例:>>> import copy
l=[[‘a’,’b’],1,2]
l1=copy.deepcopy(l)
l1
[[‘a’, ‘b’], 1, 2]
id(l[0])
140017001309000
id(l1[0])
140017001310472
l[0].append(‘c’)
l
[[‘a’, ‘b’, ‘c’], 1, 2]
l1
[[‘a’, ‘b’], 1, 2]

二:元组

1:元组的定义:元组是戴了紧箍咒的列表,它可以存储任意数据类型,但是是不可变数据类型,不支持增删改查。

Y=(1,2,3,[1,2,3],True,2+3j,(1,2,3))
type(Y)

三.集合:

1.集合里面的元素是不可重复的;

s = {1, 2, 4, 1, 2, 3}
print(s,type(s))
{1, 2, 3, 4}

四:字典:

1.定义字典:

    >>> s = {
      'fentiao':[100, 80, 90],
      'westos':[100,100,100]
    }
    print(s, type(s)) 
    {'fentiao': [100, 80, 90], 'westos': [100, 100, 100]} <class 'dict'>
    >>> d = dict(a=1, b=2)
    >>> print(d, type(d))
    {'a': 1, 'b': 2} <class 'dict'>
  定义空字典:
>>> s = {}
>>> print(type(s))
<class 'dict'>
或:
<class 'dict'>
>>> d = dict()    
>>> print(d,type(d))
{} <class 'dict'>
  字典: key-value值, 键值对;
 value值可以是任意数据类型: int,float,long, complex, list, tuple,set, dict
  字典的嵌套:
students = {
    '13021001': {
    'name':'张龙',
        'age':18,
        'score':100
     },
        '13021003': {
        'name': '张',
        'age': 18,
        'score': 90
             }
         }

print(students[‘13021003’][‘name’]): 张
formkeys方法:
romkeys第一个参数可以 list/tuple/str/set, 将列表的每一个元素作为字典的key值, 并且所有key的value值一致
2.字典的特性:
字典是不能进行索引,切片,连接,重复的
成员操作符:判断key是否存在于字典中;

d = dict(a=1, b=2)
print(‘a’ in d)
True
for循环字典:默认循环字典的key值
for i in d:
print(i)
… …
a
b
3.字典的增加:
添加或者更改key-value对
d =dict(a=1,b=2)
d[‘g’]=10
d[‘a’]=10
d
{‘a’: 10, ‘b’: 2, ‘g’: 10}
update;
如果key值已经存在, 更新value值;
如果key值不存在, 添加key-value值;
d.update({‘a’:4, ‘f’:1})
d
{‘a’: 4, ‘b’: 2, ‘g’: 10, ‘f’: 1}
setdefault:
d.setdefault(‘d’)
d
{‘a’: 4, ‘b’: 2, ‘g’: 10, ‘f’: 1, ‘d’: None}
4.字典的删除:
pop:弹出指定的key-value值
d.pop(‘a’)
4
popitem:随机删除一个key-value对
d.popitem()
(‘d’, None)
d
{‘b’: 2, ‘g’: 10, ‘f’: 1}
del :指定删除key和其对应的value值:
del d[‘b’]
d
{‘g’: 10, ‘f’: 1}
clear :清除字典
d.clear()
d
{}
5.字典的修改和查看:
services = {
‘http’:80,
‘mysql’:3306
}

查看字典里面所有的key值
print(services.keys())

查看字典里面所有的value值
print(services.values())

查看字典里面所有的key-value值
print(services.items())

字典的遍例:
for k,v in services.items(): # k,v = (‘http’, 80)
print(k , ‘—>’, v)

    for k in services:
        print(k, '--->', services[k])


 查看指定key对应的value值, 注意: key不存在, 就会报错
print(services['http'])
print(services['https'])

get方法:get方法获取指定可以对应的value值
如果key值存在, 返回对应的value值;
如果key值不存在, 默认返回None, 如果需要指定返回的值, 传值即可;
if ‘https’ in services:
print(services[‘https’])
else:
print(‘key not exist’)
或:
print(services.get(‘https’, ‘key not exist’))

混合动力汽车(HEV)模型的Simscape模型(Matlab代码、Simulink仿真实现)内容概要:本文档介绍了一个混合动力汽车(HEV)的Simscape模型,该模型通过Matlab代码和Simulink仿真工具实现,旨在对混合动力汽车的动力系统进行建模与仿真分析。模型涵盖了发动机、电机、电池、传动系统等关键部件,能够模拟车辆在不同工况下的能量流动与控制策略,适用于动力系统设计、能耗优化及控制算法验证等研究方向。文档还提及该资源属于一个涵盖多个科研领域的MATLAB仿真资源包,涉及电力系统、机器学习、路径规划、信号处理等多个技术方向,配套提供网盘下载链接,便于用户获取完整资源。; 适合人群:具备Matlab/Simulink使用基础的高校研究生、科研人员及从事新能源汽车系统仿真的工程技术人员。; 使用场景及目标:①开展混合动力汽车能量管理策略的研究与仿真验证;②学习基于Simscape的物理系统建模方法;③作为教学案例用于车辆工程或自动化相关课程的实践环节;④与其他优化算法(如智能优化、强化学习)结合,实现控制策略的优化设计。; 阅读建议:建议使用者先熟悉Matlab/Simulink及Simscape基础操作,结合文档中的模型结构逐步理解各模块功能,可在此基础上修改参数或替换控制算法以满足具体研究需求,同时推荐访问提供的网盘链接获取完整代码与示例文件以便深入学习与调试。
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值