国产成人精品亚洲777人妖,欧美日韩精品一区视频,最新亚洲国产,国产乱码精品一区二区亚洲

您的位置:首頁技術文章
文章詳情頁

python - 這句是什么錯誤?

瀏覽:147日期:2022-06-30 16:52:10

問題描述

File 'log1.py', line 140 for ref, occurnum in nsmallest(10, d.iteritems(), key=lambda (k,v): (-v,k)): ^SyntaxError: invalid syntax

代碼如下

def TopOccurr(num, request, total):args = parse_args()d = {}for i in get_obj[num]:if i in d:d[i] = d[i]+1else:d[i] = 1x = PrettyTable([request, total])x.align['Requests'] = 'l'x.padding_width = 1for ref, occurnum in nsmallest(10, d.iteritems(), key=lambda (k,v): (-v,k)):x.add_row([ref[:120], occurnum])return x.get_string(start=0, end=10, sortby=total, reversesort=True)

py3.5.2

問題解答

回答1:

lambda定義的時候,如果有多個參數,那么這些參數是不需要加括號的e.g.

l=lambda x,y:(y,x) # 正確

l=lambda (x,y):(y,x) # 報錯

官方文檔中的lambda:python - 這句是什么錯誤?

貼上修改后完整代碼:

def TopOccurr(num, request, total): args = parse_args() d = {} for i in get_obj[num]:if i in d: d[i] = d[i]+1else: d[i] = 1 x = PrettyTable([request, total]) x.align['Requests'] = 'l' x.padding_width = 1 for ref, occurnum in nsmallest(10, d.iteritems(), key=lambda k,v:(-v,k)):x.add_row([ref[:120], occurnum]) return x.get_string(start=0, end=10, sortby=total, reversesort=True)

實測沒有報錯(Python 3.6.0,IPython 5.3.0)python - 這句是什么錯誤?

回答2:

python3中lambda不支持用括號的方式解壓數據

回答3:

把參數的括號去掉就行了。

標簽: Python 編程
相關文章:
主站蜘蛛池模板: 台州市| 海口市| 漾濞| 华蓥市| 巩留县| 临城县| 治县。| 嘉兴市| 高淳县| 罗田县| 仁怀市| 天水市| 龙南县| 宁波市| 蚌埠市| 那曲县| 明溪县| 新巴尔虎右旗| 崇礼县| 乌鲁木齐市| 涡阳县| 崇左市| 大石桥市| 上饶市| 景德镇市| 红河县| 柳州市| 古田县| 宜黄县| 抚松县| 理塘县| 清新县| 彭阳县| 普定县| 永泰县| 昌黎县| 海盐县| 霍邱县| 砚山县| 台南县| 沐川县|