在Python中的列表理解中打印
发布时间:2020-12-20 13:03:20 所属栏目:Python 来源:网络整理
导读:执行以下代码时出现语法错误. 我想在列表理解中打印. 如您所见,我使用print()尝试了一种不同的方法(注释掉了一行).但我认为 Python 3支持这种语法,因为早期版本的Python将print视为一种语句. 1 import sys 2 import nltk 3 import csv 4 from prettytable im
执行以下代码时出现语法错误.
我想在列表理解中打印. 如您所见,我使用print()尝试了一种不同的方法(注释掉了一行).但我认为 Python 3支持这种语法,因为早期版本的Python将print视为一种语句. 1 import sys 2 import nltk 3 import csv 4 from prettytable import PrettyTable 5 CSV_FILE = sys.argv[1] 6 # Handle any known abbreviations,# strip off common suffixes,etc. 7 transforms = [(',Inc.',''),(',Inc',LLC',LLP','')] 8 csvReader = csv.DictReader(open(CSV_FILE),delimiter=',',quotechar='"') 9 contacts = [row for row in csvReader] 10 companies = [c['Company'].strip() for c in contacts if c['Company'].strip() != ''] 11 for i in range(len(companies)): 12 for transform in transforms: 13 companies[i] = companies[i].replace(*transform) 14 #fields=['Company','Freq'] 15 #pt = PrettyTable(fields=fields) 16 #pt.set_field_align('Company','l') 17 fdist = nltk.FreqDist(companies) 18 #[pt.add_row([company,freq]) for (company,freq) in fdist.items() if freq > 1] 19 #[print("["+company+","+freq+"]") for (company,freq) in fdist.items() if freq > 1] 20 [print company for (company,freq) in fdist.items() if freq > 1] 21 #pt.printt() ~ 解决方法
Python表达式中不会出现任何语句. print是Python 2中的一种语句,列表推导是一种表达.不可能.例如,您也不能在索引表达式中放置全局语句.
请注意,在Python 2中,您可以放置 from __future__ import print_function 将print()视为函数(就像在Python 3中一样). (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |