Python:以指定格式打印列表列表

Python:以指定格式打印列表列表,第1张

概述我有一个清单列表l = [[‘a’,’b’,’c’],’d’,’e’,[‘f’,’g’]].列表元素并不总是必须是字母表. 现在,我使用了以下代码: >>> index =1>>> for i in l:... if isinstance(i, list):... for j in i :... print index 我有一个清单列表l = [[‘a’,’b’,’c’],’d’,’e’,[‘f’,’g’]].列表元素并不总是必须是字母表.

现在,我使用了以下代码:

>>> index =1>>> for i in l:...     if isinstance(i,List):...             for j in i :...                     print index,j...                     index = index + 1...     else:...             print index,i...             index = index + 1... 1 a2 b3 c4 d5 e6 f7 g

您可以看到我打印出结果的格式.

另一个例子:

l = [['aaa','bbb','xxx'],'ddd']Output = 1 aaa2 bbb3 xxx4 ddd

我的问题是有更好的方法来做这个或python中的任何内置函数.

PS:列表只有1级嵌套.因此,[[a,[b,c]],d,e]不是可能的.

解决方法 您可以使用 itertools.chain.from_iterable()enumerate()轻松完成此 *** 作:

>>> import itertools>>> l = [['a','b','c'],'d','e',['f','g']]>>> for index,value in enumerate(itertools.chain.from_iterable(l),1):...     print(index,value)... 1 a2 b3 c4 d5 e6 f7 g

编辑:正如mgilson所指出的,这对于多字符字符串作为顶层元素并不适用.我认为最好的解决方案就是在他的答案中使用生成器,但是,我认为字符串是特殊情况,而不是列表,所以我会颠倒逻辑:

def flatten(seq):    for item in seq:        if not isinstance(item,str): #Use `basestring` in 2.x            yIEld from item            #For Python <3.3            #for subitem in item:            #    yIEld subitem        else:            yIEld item
总结

以上是内存溢出为你收集整理的Python:以指定格式打印列表列表全部内容,希望文章能够帮你解决Python:以指定格式打印列表列表所遇到的程序开发问题。

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

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/langs/1194870.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-06-03
下一篇 2022-06-03

发表评论

登录后才能评论

评论列表(0条)

保存