python 元组

本文详细介绍了Python中元组的概念、创建方式、基本特性和常用方法,并通过具体示例展示了元组在变量交换、求平均成绩等场景的应用。

###################### 元组的创建 ################################

# 元组: 带了紧箍咒的列表;
#       不可变数据类型,没有增删改查;
#       可以存储任意数据类型;
li = [1, 2, 3]
li.append(4)
print(li)


# 定义元组
t = (1, 2.1, 2e+10, True, 2j+3, [1,2,3],(1,2,3) )
print(t, type(t))

# 如果元组里面包含可变数据类型, 可以间接修改元组内容;
t1 = ([1,2,3], 4)
t1[0].append(4)
print(t1)


#
t2 = ()
t3 = tuple([])
# 元组如果只有一个元素, 后面一定要加逗号, 否则数据类型不确定;
t4 = ('hello')
t5 = ('hello',)
print(type(t2), type(t3), type(t4), type(t5))

######################### 元组的特性 #############################

# 索引, 切片, 重复, 连接, 成员操作符
allowUsers = ('root', 'westos', 'fentiao')
allowPasswd = ('123', '456', '789')

print(allowUsers[0])
print(allowUsers[-1])
print(allowUsers[1:])
print(allowUsers[2:])
print(allowUsers[:-1])
print(allowUsers[::-1])


# 重复
print(allowUsers*3)


# 连接,
print(allowUsers + ('fensi', 'fendai'))


# 成员操作符
print('westos' in allowUsers)
print('westos' not in allowUsers)

# for循环
print("显示".center(50, '*'))
for user in allowUsers:
    print("白名单用户:%s" %(user))


print("索引显示".center(50, '*'))
# # for循环并且求索引(枚举)
for index,user in  enumerate(allowUsers):
    print("第%d个白名单用户: %s" %(index+1, user))

# zip: 集和用户名和密码两个元组, 元素之间一一对应
for user, passwd in  zip(allowUsers, allowPasswd):
    print(user,':', passwd)

########################### 元组常用方法 ##########################

t = (1,2, 'a', 'c', 'a')
print(t.index('c'))
print(t.count('a'))

########################### 元组应用场景 ###########################

#1.  变量交换数值:
a = 1
b = 2

b,a = a,b
# 1. 先把(a,b)封装成一个元组, (1,2)
# 2. b,a = a,b ======> b,a =(1,2)
# 3. b = (1,2)[0], a=(1,2)[1]
print(a,b)

# 打印变量值
name = 'westos'
age = 10
t = (name, age)
print("name: %s, age: %d" %(name, age))
print("name: %s, age: %d" %t)

# 元组的赋值: 有多少个元素, 就用多少个变量接收
t = ('westos', 10, 100)
name, age,score  = t
print(name, age, score)


############################ 去掉最高分最低分求平均成绩 ####################
scores = (100, 89, 45, 78, 65)
# 先对元组进行排序
# scoresLi = list(scores)
# scoresLi.sort()
# print(scoresLi)
scores = sorted(scores)                 #内建函数 sorted 方法返回的是一个新的 list,而不是在原来的基础上进行的操作。
# python3中
minScore, *middleScore, maxScore = scores
print(minScore, middleScore, maxScore)
print("最终成绩为: %.2f" %(sum(middleScore)/len(middleScore)))

 

内容概要:本文系统介绍了算术优化算法(AOA)的基本原理、核心思想及Python实现方法,并通过图像分割的实际案例展示了其应用价值。AOA是一种基于种群的元启发式算法,其核心思想来源于四则运算,利用乘除运算进行全局勘探,加减运算进行局部开发,通过数学优化器加速函数(MOA)和数学优化概率(MOP)动态控制搜索过程,在全局探索与局部开发之间实现平衡。文章详细解析了算法的初始化、勘探与开发阶段的更新策略,并提供了完整的Python代码实现,结合Rastrigin函数进行测试验证。进一步地,以Flask框架搭建前后端分离系统,将AOA应用于图像分割任务,展示了其在实际工程中的可行性与高效性。最后,通过收敛速度、寻优精度等指标评估算法性能,并提出自适应参数调整、模型优化和并行计算等改进策略。; 适合人群:具备一定Python编程基础和优化算法基础知识的高校学生、科研人员及工程技术人员,尤其适合从事人工智能、图像处理、智能优化等领域的从业者;; 使用场景及目标:①理解元启发式算法的设计思想与实现机制;②掌握AOA在函数优化、图像分割等实际问题中的建模与求解方法;③学习如何将优化算法集成到Web系统中实现工程化应用;④为算法性能评估与改进提供实践参考; 阅读建议:建议读者结合代码逐行调试,深入理解算法流程中MOA与MOP的作用机制,尝试在不同测试函数上运行算法以观察性能差异,并可进一步扩展图像分割模块,引入更复杂的预处理或后处理技术以提升分割效果。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值