如何解决syntaxerror: more than 255 arguments 报错

如何解决syntaxerror: more than 255 arguments 报错

    • 问题背景
    • 解释
    • 解决方案

问题背景

今天拼接特征的时候,突然代码报错syntaxerror: more than 255 arguments ,看了一下感觉这个报错非常有意思,估计平时也是没机会碰到,和大家分享一下。

解释

SyntaxError: more than 255 arguments 表示你的代码中存在一个语法错误,这个错误通常是因为你在函数调用中传递的参数数量超过了 Python 解释器所允许的上限,该上限为 255【以前确实从来不会给一个函数传200多个参数,但是在实际业务工程中就会碰到这个问题】。

解决方案

可以考虑使用数据结构(例如列表、字典)来重新组织参数,而不是将它们作为独立的参数传递,从而解决该问题。

例如,如果你有一个函数调用如下:

my_function(arg1, arg2, arg3, ..., arg256, arg257)

可以考虑将参数组织成一个列表:

args_list = [arg1, arg2, arg3, ..., arg256, arg257]
my_function(*args_list)

或者字典:

args_dict = {'arg1': val1, 'arg2': val2, ..., 'arg256': val256, 'arg257': val257}
my_function(**args_dict)

但是比较奇怪的是,当我通过dict()包装了我的参数后,仍然报错。也就是说,通过dict()构建一个字典仍然不能超过255个k-v(这也是不被允许的)。于是,我将不同类别特征放入一个字典,然后通过字典的update()函数更新总字典中,这样,而且这样的重构有助于使代码更具可读性,并且可以有序处理大量的参数。如下:

Copy code
args_dict = dict()
args_dict0 = dict('arg1': val1, 'arg2': val2, ..., 'arg254': val254)
args_dict1 = dict('val255': val255, 'arg256': val256, ..., 'arg500': val500)

args_dict.update(args_dict0)
args_dict.update(args_dict1)
my_function(**args_dict)

除此之外,如果参数过多,我们可以通过{} 或者 []构建字典或者list,经过测试是可以一次性构造超过255个元素的。

for i in range(300):
    print("{}:'{}',".format(i,i), end='')
{0:'0',1:'1',2:'2',3:'3',4:'4',5:'5',6:'6',7:'7',8:'8',9:'9',10:'10',11:'11',12:'12',13:'13',14:'14',15:'15',16:'16'
 ,17:'17',18:'18',19:'19',20:'20',21:'21',22:'22',23:'23',24:'24',25:'25',26:'26',27:'27',28:'28',29:'29',30:'30',31:'31',32:'32',33:'33',34:'34',35:'35',36:'36',37:'37',38:'38',39:'39',40:'40',41:'41',42:'42',43:'43',44:'44',45:'45',46:'46',47:'47',48:'48',49:'49',50:'50',51:'51',52:'52',53:'53',54:'54',55:'55',56:'56',57:'57',58:'58',59:'59',60:'60',61:'61',62:'62',63:'63',64:'64',65:'65',66:'66',67:'67',68:'68',69:'69',70:'70',71:'71',72:'72',73:'73',74:'74',75:'75',76:'76',77:'77',78:'78',79:'79',80:'80',81:'81',82:'82',83:'83',84:'84',85:'85',86:'86',87:'87',88:'88',89:'89',90:'90',91:'91',92:'92',93:'93',94:'94',95:'95',96:'96',97:'97',98:'98',99:'99',100:'100',101:'101',102:'102',103:'103',104:'104',105:'105',106:'106',107:'107',108:'108',109:'109',110:'110',111:'111',112:'112',113:'113',114:'114',115:'115',116:'116',117:'117',118:'118',119:'119',120:'120',121:'121',122:'122',123:'123',124:'124',125:'125',126:'126',127:'127',128:'128',129:'129',130:'130',131:'131',132:'132',133:'133',134:'134',135:'135',136:'136',137:'137',138:'138',139:'139',140:'140',141:'141',142:'142',143:'143',144:'144',145:'145',146:'146',147:'147',148:'148',149:'149',150:'150',151:'151',152:'152',153:'153',154:'154',155:'155',156:'156',157:'157',158:'158',159:'159',160:'160',161:'161',162:'162',163:'163',164:'164',165:'165',166:'166',167:'167',168:'168',169:'169',170:'170',171:'171',172:'172',173:'173',174:'174',175:'175',176:'176',177:'177',178:'178',179:'179',180:'180',181:'181',182:'182',183:'183',184:'184',185:'185',186:'186',187:'187',188:'188',189:'189',190:'190',191:'191',192:'192',193:'193',194:'194',195:'195',196:'196',197:'197',198:'198',199:'199',200:'200',201:'201',202:'202',203:'203',204:'204',205:'205',206:'206',207:'207',208:'208',209:'209',210:'210',211:'211',212:'212',213:'213',214:'214',215:'215',216:'216',217:'217',218:'218',219:'219',220:'220',221:'221',222:'222',223:'223',224:'224',225:'225',226:'226',227:'227',228:'228',229:'229',230:'230',231:'231',232:'232',233:'233',234:'234',235:'235',236:'236',237:'237',238:'238',239:'239',240:'240',241:'241',242:'242',243:'243',244:'244',245:'245',246:'246',247:'247',248:'248',249:'249',250:'250',251:'251',252:'252',253:'253',254:'254',255:'255',256:'256',257:'257',258:'258',259:'259',260:'260',261:'261',262:'262',263:'263',264:'264',265:'265',266:'266',267:'267',268:'268',269:'269',270:'270',271:'271',272:'272',273:'273',274:'274',275:'275',276:'276',277:'277',278:'278',279:'279',280:'280',281:'281',282:'282',283:'283',284:'284',285:'285',286:'286',287:'287',288:'288',
 289:'289',290:'290',291:'291',292:'292',293:'293',294:'294',295:'295',296:'296',297:'297',298:'298',299:'299'}

在这里插入图片描述

或者

for i in range(300):
    print("{}='{}',".format(i,i), end='')
dict(0='0',1='1',2='2',3='3',4='4',5='5',6='6',7='7',8='8',9='9',10='10',11='11',12='12',13='13',14='14',15='15',
    16='16',17='17',18='18',19='19',20='20',21='21',22='22',23='23',24='24',25='25',26='26',27='27',28='28',29='29',
    30='30',31='31',32='32',33='33',34='34',35='35',36='36',37='37',38='38',39='39',40='40',41='41',42='42',43='43',
    44='44',45='45',46='46',47='47',48='48',49='49',50='50',51='51',52='52',53='53',54='54',55='55',56='56',57='57',
    58='58',59='59',60='60',61='61',62='62',63='63',64='64',65='65',66='66',67='67',68='68',69='69',70='70',71='71',
    72='72',73='73',74='74',75='75',76='76',77='77',78='78',79='79',80='80',81='81',82='82',83='83',84='84',85='85',
    86='86',87='87',88='88',89='89',90='90',91='91',92='92',93='93',94='94',95='95',96='96',97='97',98='98',99='99',
    100='100',101='101',102='102',103='103',104='104',105='105',106='106',107='107',108='108',109='109',110='110',
    111='111',112='112',113='113',114='114',115='115',116='116',117='117',118='118',119='119',120='120',121='121',
    122='122',123='123',124='124',125='125',126='126',127='127',128='128',129='129',130='130',131='131',132='132',
    133='133',134='134',135='135',136='136',137='137',138='138',139='139',140='140',141='141',142='142',143='143',144='144',145='145',146='146',147='147',148='148',149='149',150='150',151='151',152='152',153='153',154='154',155='155',156='156',157='157',158='158',159='159',160='160',161='161',162='162',163='163',164='164',165='165',166='166',167='167',168='168',169='169',170='170',171='171',172='172',173='173',174='174',175='175',176='176',177='177',178='178',179='179',180='180',181='181',182='182',183='183',184='184',185='185',186='186',187='187',188='188',189='189',190='190',191='191',192='192',193='193',194='194',195='195',196='196',197='197',198='198',199='199',200='200',201='201',202='202',203='203',204='204',205='205',206='206',207='207',208='208',209='209',210='210',211='211',212='212',213='213',214='214',215='215',216='216',217='217',218='218',219='219',220='220',221='221',222='222',223='223',224='224',225='225',226='226',227='227',228='228',229='229',230='230',231='231',232='232',233='233',234='234',235='235',236='236',237='237',238='238',239='239',240='240',241='241',242='242',243='243',244='244',245='245',246='246',247='247',248='248',249='249',250='250',251='251',252='252',253='253',254='254',255='255',256='256',257='257',258='258',259='259',260='260',261='261',262='262',263='263',264='264',265='265',266='266',267='267',268='268',269='269',270='270',271='271',272='272',273='273',274='274',275='275',276='276',277='277',278='278',279='279',280='280',281='281',282='282',283='283',284='284',285='285',286='286',287='287',288='288',
    289='289',290='290',291='291',292='292',293='293',294='294',295='295',296='296',297='297',298='298',299='299')

在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/223830.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

线程基础介绍

什么是线程? linux内核中是没有线程这个概念的,而是轻量级进程的概念:LWP。一般我们所说的线程概念是C库当中的概念。 1.1线程是怎样描述的? 线程实际上也是一个task_struct,工作线程拷贝主线程的task_struct&#…

推出ASM2824 PCIe交换机,预计M.2插槽将增加,E3SB40E00004EE、E2SB40E00000JE 40MHz晶振

一、ASM2824 PCIe交换机,预计M.2插槽将增加 ASM2824 PCI-Express Gen 3.0 x24交换机采用PCI-Express 3.0 x8,并提供四个PCI-Express 3.0 x4连接,其结构为PLX PEX8747的一半。从理论上讲,这将允许主板设计人员从英特尔Z390芯片组的…

C++类和对象——(8)类的组合

归纳编程学习的感悟, 记录奋斗路上的点滴, 希望能帮到一样刻苦的你! 如有不足欢迎指正! 共同学习交流! 🌎欢迎各位→点赞 👍 收藏⭐ 留言​📝 人生就像骑单车,想保持平衡…

香港科技大学广州|机器人与自主系统学域博士招生宣讲会—北京专场!!!(暨全额奖学金政策)

在机器人和自主系统领域实现全球卓越—机器人与自主系统学域 硬核科研实验室,浓厚创新产学研氛围! 教授亲临现场,面对面答疑解惑助攻申请! 一经录取,享全额奖学金1.5万/月! 时间:2023年12月09日…

Python实现广义线性回归模型(statsmodels GLM算法)项目实战

说明:这是一个机器学习实战项目(附带数据代码文档视频讲解),如需数据代码文档视频讲解可以直接到文章最后获取。 1.项目背景 广义线性模型(Generalized Linear Model,简称GLM)是一种广泛应用于回归分析和分类问题的统…

MySql概述及其性能说明

MySQL是一种开源的关系型数据库管理系统,由瑞典MySQL AB公司开发,现属于Oracle公司。MySQL是最流行的开源数据库之一,被广泛地应用于Web开发中。MySQL提供了一个高度稳定可靠的数据存储解决方案,同时也可以很容易地跨平台运行。My…

前端十几年后的变迁:从代码编织者到创新驱动者

十几年前的前端开发,是一个被大多数人忽视的领域。那时的网页设计简陋,功能单一,前端开发的工作也相对简单。然而,随着科技的发展和互联网的普及,前端开发已经从一个边缘角色成长为一个关键的创新驱动力。那么&#xf…

6.1810: Operating System Engineering 2023 <Lab3: page tables>

一、本节任务 实验环境: 二、要点 如何防止程序破坏内核或其他进程空间?隔离地址空间,进程只能读写自己的内存空间。 在保证隔离的同时,如何将多个地址空间复用到一个物理内存上?虚拟内存/页表。操作系统通过页表来为…

Bert4keras相关环境安装

1. 创建虚拟环境,先安装cudatoolkit和cudnn cudatoolkit版本不对容易报so库找不到的错。 具体安装参考:在conda虚拟环境中安装cuda和cudnn,解决pip install or python setup.py install 将安装包安装到全局环境中的问题(1.2部分&…

有源功率因数校正电路的设计(论文+仿真)

1. 系统设计 本文围绕有源功率因数校正电路的设计而展开,拟以BOOST的拓扑结构进行有源功率因数校正电路的搭建,通过不同电流模式的Boost变换电路实际应用及其分析,能够总结最优的解决设计方案,在方案建立的基础之上,通…

企业数字档案馆室建设指南

数字化时代,企业数字化转型已经成为当下各行业发展的必然趋势。企业数字化转型不仅仅是IT系统的升级,也包括企业内部各种文件、档案、合同等信息的数字化管理。因此,建设数字档案馆室也变得尤为重要。本篇文章将为您介绍企业数字档案馆室建设…

华为鸿蒙爆发真实力!原生应用媲美iOS,使用流畅度将提升20至30%

随着华为鸿蒙原生应用开发计划的启动,一场席卷全球的科技浪潮正在涌动。鸿蒙生态的快速发展,吸引了无数企业和开发者的关注,他们纷纷拥抱这个新兴的生态系统,共同构建一个更加繁荣的鸿蒙世界。 华为鸿蒙原生应用开发计划引爆全球…

【计算机二级MS Office】word(上)

这里写目录标题 文件选项卡保存和另存为属性检查文档 开始选项卡字体更改字体和字号设置中文和英文为两种不同字体的快捷方式介绍其余图标文本效果突出颜色如何挑选字体颜色字符底纹带圈字符字体对话框(隐藏) 段落 插入选项卡设计选项卡布局选项卡引用选…

Ribbon 饥饿加载

Ribbon默认是采用懒加载,即第一次访问时才会去创建LoadBalanceClient,请求时间会很长而饥饿加载则会在项目启动时创建,降低第一次访问的耗时,通过下面配置开启饥饿加载: 一、懒加载 Ribbon 默认为懒加载即在首次启动Application…

妈妈和老婆掉进水里,孟子认为先救老婆是禽兽

妈妈和老婆同时掉进水里先救谁? 多数男人不敢回答,怕得罪老婆。孟子认为,必须先救妈妈。因为父母都照顾不好,是不孝。先救妈妈,再救老婆。 中国人的信仰是天,以及孔孟之道。中国人不信宗教。 孟子&#x…

mysql锁介绍

锁分类: 加锁时机 普通select 语句会加MDL读锁,防止DDL的MDL写锁产生冲突 update、insert、delete会自动加入排它锁X,以及意向IX锁 select ... lock in share mode 加意向IS锁以及共享S锁 select... for update 加意向IX锁以及排它锁X

数据结构(超详细讲解!!)第二十六节 图(下)

1.无向图的连通分量 图遍历时,对于连通图,无论是广度优先搜索还是深度优先搜索,仅需要调用一次搜索过程,即从任一个顶点出发,便可以遍历图中的各个顶点。对于非连通图,则需要多次调用搜索过程,而…

二叉平衡树

一直想深入的研究一下,并手写平衡二叉树的插入、删除代码。 二叉树是动态查找的典范,但在极限情况下,二叉树的查找效果等同于链表,而平衡二叉树可以完美的达到 log ⁡ 2 n \log_2 n log2​n。 AVL简称平衡二叉树,缩写…

[Mac软件]HitPaw Photo Object Remover Mac v1.2.1 Ai智能去水印工具图像物体移除

多亏了HitPaw Photo Object Remover,它会自动跟踪和识别对象,并帮助您通过几个简单的步骤从照片中删除您想要的所有内容。 使用人工智能删除照片中物体的一流工具 •像1-2-3一样轻松地从照片中删除对象 •人工智能技术有助于立即清除不必要的物体 •轻…

激光雷达生成的图像检测关键点用来辅助里程计的方案

文章:LiDAR-Generated Images Derived Keypoints Assisted Point Cloud Registration Scheme in Odometry Estimation 作者:Haizhou Zhang , Xianjia Yu, Sier Ha , Tomi Westerlund 编辑:点云PCL 欢迎各位加入知识星球,获取PDF…