Python里的变长参数理解

元组(Tuple)变长参数:适用于未知参数的数量不固定,但在函数中使用这些参数无需知道这些参数的名字的场合。
    在函数定义中,元组变长参数使用“*” 标记
 

def show_message(meassage, *tupleName):
    for name in tupleName:
        print(meassage, ":", name)

if __name__ == '__main__':
    show_message("Good moring", "June", "Jack", "Jim")

 

字典(Dictionary)变长参数:适用于未知参数的数量不固定,而且在函数中使用这些参数时需要知道这些参数的名字的场合。
在函数定义中,字典变长参数用“**” 标记

#python 2
def check_book(**dictParam):
    if dictParam.has_key('Price'):
        price = int (dictParam['Price'])
        if price > 100:
            print("--------I want Buy this Book----------")
    print("The book information are as follow")
    for key in dictParam.keys():
        print(key, ":", dictParam[key])
    print("")

if __name__ == '__main__':
    check_book(author = 'June', Title = "Hello world")
    check_book(author = "Luenci", Title = "Python Study", data = "2018-9-25", Price = 125)
    check_book(data = '2018-9-25', Title = "Cooking Book", Price = 19)
    check_book(author = "Jine", Title = "How to keep healthy")
    check_book(category = 'Finance', name = 'spiderman', Price = 12)

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
gai(population_size, chromosome_length, crossover_rate, mutation_rate, elitism)函数Python中遗传算法的实现函数之一。下面是对每个参数的详细解释: 1. population_size(种群大小):指定种群中个体的数量。较大的种群大小通常能够更好地探索搜索空间,但会增加计算成本。 2. chromosome_length(染色体长度):染色体是遗传算法中个体的表示形式,其长度取决于问题的复杂性和可行解的表示方式。例如,对于TSP问题(旅行商问题),染色体长度等于城市的数量。 3. crossover_rate(交叉率):交叉率决定了个体在进行交叉操作时进行交叉的可能性。较高的交叉率有利于个体之间的信息交流,但过高的交叉率可能导致收敛速度减慢或陷入局部最优。 4. mutation_rate(变异率):变异率决定了个体在进行变异操作时发生变异的可能性。变异操作有助于引入新的解决方案,增加搜索空间的多样性。适度的变异率可以避免过早收敛,而过高的变异率可能导致搜索过程有效性降低。 5. elitism(精英保留策略):精英保留策略用于决定是否保留每代最优解。如果设为True,则每代最优解将直接传递到下一代,以确保不会丢失已找到的解。这有助于防止搜索过早陷入局部最优解。 以上就是Python遗传算法函数ga()中各个参数的解释,通过调整这些参数以及其他可能的相应参数,可以使用遗传算法有效地解决各种优化问题。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值