如何从 Python itertools 输出中删除字符串引号、逗号和括号?

     2023-02-25     228

关键词:

【中文标题】如何从 Python itertools 输出中删除字符串引号、逗号和括号?【英文标题】:How to remove string quotations, commas and parenthesis from Python itertools output? 【发布时间】:2021-11-15 07:47:14 【问题描述】:

这个漂亮的脚本生成给定集合 s 的所有 4 个字符排列,并将它们打印在新行上。

import itertools


s = ('7', '8', '-')

l = itertools.product(s, repeat=4)

print(*l, sep='\n')

示例输出:

...
('9', '-', '7', '8')
('9', '-', '7', '9')
('9', '-', '8', '7')
('9', '-', '8', '8')
('9', '-', '8', '9')
...

我不知道如何删除所有单引号、逗号和左/右括号。

期望的输出:

...
9-78
9-79
9-87
9-88
9-89
...

尝试添加:


c = []

for i in l:
    i = i.replace(",", '')
    c.append(i)

print(*c, sep='\n')

错误: AttributeError: 'tuple' object has no attribute 'replace'

也试过了:我似乎找不到在哪里放置 print(' '.join()) 逻辑。

【问题讨论】:

print(*l, sep='\n') 在每一行打印元组,打印时会自动添加括号和逗号。尝试提取元组元素并使用join 创建一个字符串 【参考方案1】:

每次打印一个值时,都可以使用:

for vals in l:
    print("".join([str(v) for v in vals]))

这只是连接所有字符,注意.join 要求值是字符串。

你也可以使用:

for vals in l:
    print(*vals)

...但是值之间有一个空格。

【讨论】:

感谢您的帮助。使用:with open('out.txt', 'w') as f: for i in l:f.write(''.join([str(v) for v in i]) + '\n') 轻松将您的解决方案翻译成文件。

无法从 Python 3 上的 itertools izip 导入

】无法从Python3上的itertoolsizip导入【英文标题】:cannotimportfromitertoolsiziponPython3【发布时间】:2019-12-0209:06:14【问题描述】:在我的项目中,我正在尝试导入izip库,但无法正常工作fromitertoolsimportizipfromrandomimportnormalvariate,randomfromd... 查看详情

从 itertools 模块导入 izip 在 Python 3.x 中会产生 NameError

】从itertools模块导入izip在Python3.x中会产生NameError【英文标题】:importingizipfromitertoolsmodulegivesNameErrorinPython3.x【发布时间】:2015-12-1601:08:43【问题描述】:我正在尝试像这样导入izip模块:fromitertoolsimportizip但是在最近从Python2.7切... 查看详情

有没有办法从 Python 中的 itertools.product 循环中跳过一个值?

】有没有办法从Python中的itertools.product循环中跳过一个值?【英文标题】:Isthereawaytoskipavaluefromitertools.productloopinPython?【发布时间】:2019-08-0722:33:52【问题描述】:我正在制作一个脚本来比较两个地址之间的距离,这些地址存储... 查看详情

在 Python 中获取排列,itertools

】在Python中获取排列,itertools【英文标题】:GettingpermutationsinPython,itertools【发布时间】:2012-08-0706:09:07【问题描述】:我想使用itertools从字母表中的每个字母中获取所有可能的3个字母排列。回到空白:importitertoolsdefpermutations(ABC... 查看详情

从 itertools 产品创建数据框

】从itertools产品创建数据框【英文标题】:Createdataframefromitertoolsproduct【发布时间】:2018-08-0617:04:14【问题描述】:我有两个列表:a=[1,2,3]b=[4,5,6]我想创建一个数据框,其中(a,b)的每个组合都会生成一个数据框X,然后我选择X的最... 查看详情

Python for 循环偏移 (Itertools.product)

】Pythonfor循环偏移(Itertools.product)【英文标题】:Pythonforloopoffset(Itertools.product)【发布时间】:2014-02-1217:13:51【问题描述】:以下代码使用0和1生成所有可能的组合,其中必须使用四位数字。importitertoolsforiinitertools.product([0,1],repeat=... 查看详情

无法在 Python 3.5.2 中导入 itertools

】无法在Python3.5.2中导入itertools【英文标题】:FailingtoimportitertoolsinPython3.5.2【发布时间】:2016-12-0218:05:39【问题描述】:我是Python新手。我正在尝试从itertools导入izip_longest。但我无法在Python解释器的首选项中找到导入“itertools”... 查看详情

python自带性能强悍的标准库itertools

参考技术A可迭代对象就像密闭容器里的水,有货倒不出itertools是python内置的标准模块,提供了很多简洁又高效的专用功能,使用得当能够极大的简化代码行数,同时所有方法都是实现了生成器函数,这就意味着极大的节省内存... 查看详情

如何在 itertools.accumulate 中使用初始参数?

】如何在itertools.accumulate中使用初始参数?【英文标题】:Howtouseinitialargumentinsideitertools.accumulate?【发布时间】:2020-10-2318:02:44【问题描述】:在这个documentationlink我们可以读到这个:itertools.accumulate(iterable[,func,*,initial=None])通常... 查看详情

如何生成唯一的 itertools 链?

】如何生成唯一的itertools链?【英文标题】:HowcanIgenerateuniqueitertoolschains?【发布时间】:2017-03-0804:25:13【问题描述】:例如,itertools.chain()相当于:set.union(1,2,3,3,4,2,5,1,6,2,7)(显然返回的是一个生成器,而不是一个集合)【问题... 查看详情

python循环器-itertools(代码片段)

一、前言Python自带模块itertools提供了非常有用的用于操作可迭代对象的函数方法,例如在1和2中无限循环,还有组合两个列表的笛卡尔积循环等。二、举例1.重复列表中元素循环-cycle下面的代码会重复1,2,3的进行无限打印&#... 查看详情

如何使用 Python 2.7 使 zip_longest 在 itertools 中可用

】如何使用Python2.7使zip_longest在itertools中可用【英文标题】:Howtomakezip_longestavailableinitertoolsusingPython2.7【发布时间】:2017-06-1021:11:10【问题描述】:尝试在Windows10上运行的PythonJupyter2.7nb上导入此函数时,我收到此错误:我相信我... 查看详情

python itertools 产品重复到大

】pythonitertools产品重复到大【英文标题】:pythonitertoolsproductrepeattobig【发布时间】:2013-11-2411:46:46【问题描述】:我正在尝试制作一个python脚本来计算一些赢/输机会。为此,我试图从输赢中找出所有可能的组合(K是赢得比赛所... 查看详情

如何将 itertools.permutations("0123456789") 的结果(在 python 中)转换为字符串列表

】如何将itertools.permutations("0123456789")的结果(在python中)转换为字符串列表【英文标题】:Howtoturntheresult(inpython)ofitertools.permutations("0123456789")intolistofstrings【发布时间】:2011-03-1718:58:33【问题描述】:在Python中,... 查看详情

如何将 itertools “grouper”对象变成列表

】如何将itertools“grouper”对象变成列表【英文标题】:Howtoturnanitertools"grouper"objectintoalist【发布时间】:2017-06-1201:01:25【问题描述】:我正在尝试学习如何在Python中使用itertools.groupby,并且我想找到每组字符的大小。起初... 查看详情

python itertools 具有绑定值的排列

】pythonitertools具有绑定值的排列【英文标题】:pythonitertoolspermutationswithtiedvalues【发布时间】:2016-01-1114:29:39【问题描述】:我想有效地找到具有绑定值的向量的排列。例如,如果perm_vector=[0,0,1,2]我想获得[0,0,1,2],[0,0,2,1],[0,1,2,0]... 查看详情

python itertools groupby几个属性

】pythonitertoolsgroupby几个属性【英文标题】:pythonitertoolsgroupbyseveralattributes【发布时间】:2021-11-1714:22:27【问题描述】:我正在尝试按属性对对象进行分组。我知道如何做一个,但如何包含几个属性,例如:classNode:def__init__(self,na... 查看详情

如何指定仅允许某些第一个组合的 itertools 排列?

】如何指定仅允许某些第一个组合的itertools排列?【英文标题】:HowcanIspecifyitertoolspermutationsthatonlycertainfirstcombinationsareallowed?【发布时间】:2017-08-1017:51:57【问题描述】:问题:如何指定我的itertools.permutations对象,以便它只包... 查看详情