加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > Python > 正文

在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中一样).

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读