如何去除Python列表中每个元素外层的多余[]括号?
嵌套关键词列表降维解决方案
你遇到的嵌套结构是CSV读取的默认行为:CSV读取工具会把每一行的所有列封装为列表返回,如果你存关键词的CSV每行仅1个关键词,就会生成[[item1], [item2], [item3]]的格式。
常用解决方法
方案1:列表推导式(最适配你的场景,确认每个子列表仅含1个元素时使用)
代码示例:# nested_list 为读取CSV得到的原始嵌套列表 flat_keywords = [item[0] for item in nested_list]小提示:如果存在空行导致的空子列表,可加过滤条件避免报错:
[item[0] for item in nested_list if item]方案2:通用全展开方案(子列表可能含多个元素时,可一次性展开为一维列表)
代码示例:import itertools flat_keywords = list(itertools.chain.from_iterable(nested_list))方案3:读取CSV时直接生成一维列表,省去后续转换步骤
用csv模块读取时直接提取每行第一个元素即可:import csv with open("你的关键词文件路径.csv", "r", encoding="utf-8") as f: reader = csv.reader(f) # 如果CSV包含表头,取消注释下一行跳过表头 # next(reader) keywords = [row[0] for row in reader if row]
内容的提问来源于stack exchange,提问作者MiQ
相关产品推荐
相关产品推荐

