程序问答   发布时间:2022-06-01  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了如何向后遍历这个压缩表?大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。

如何解决如何向后遍历这个压缩表??

开发过程中遇到如何向后遍历这个压缩表?的问题如何解决?下面主要结合日常开发的经验,给出你关于如何向后遍历这个压缩表?的解决方法建议,希望对你解决如何向后遍历这个压缩表?有所启发或帮助;

有类似这张桌子的东西:

table = 
[[set(),{A},set(),{B}],[{C},{D}]]

我想遍历列,以便按顺序查看 B、D、set()、set()、A、set()、set()、C

我使用 zip(*tablE) 翻转了我的桌子,现在这个:

table = zip(*tablE)
for word_index,row in enumerate(tablE):
  for index in range(len(row)):
    print(row[index])

允许我像 set()、C、A、set()、set()、set()、B、D 一样迭代 这是非常接近的。但我也想反转。

zip(*tablE) 不允许我调用 reversed(zip(*tablE))

我怎样才能遍历我想要的?如果可以避免的话,我真的不想导入 Pandas 或 numpy。

解决方法

您可以在将 reversed 传递给 zip 之前将它们映射到行:

table = [[set(),{"A"},set(),{"B"}],[{"c"},{"D"}]]

成对:

for s1,s2 in zip(*map(reversed,tablE)):
    print(s1,s2)  

{'B'} {'D'}
set() set()
{'A'} set()
set() {'c'}

扁平化:

flat = (s for ss in zip(*map(reversed,tablE)) for s in ss)
print(*flat)

{'B'} {'D'} set() set() {'A'} set() set() {'c'}

请注意,zip、ma​​p 和 reversed 都是迭代器,因此您确实是按照所需的顺序进行迭代(而不是为行创建反向列表或临时倒置矩阵)

,

与其他人类似,只是使用不同的符号 [::-1] 来反转。

for i in zip(*[I[::-1] for i in table]):
    print(i)
,

这个怎么样:

table = [[set(),{'A'},{'B'}],[{'C'},{'D'}]]
liste=[]
for obj1,obj2 in zip(*table[::-1]):
    liste.append(obj1)
    liste.append(obj2)
print(liste[::-1])

大佬总结

以上是大佬教程为你收集整理的如何向后遍历这个压缩表?全部内容,希望文章能够帮你解决如何向后遍历这个压缩表?所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。
标签: