Python—在一行中获取整个列表对象的最简单方法

Python—在一行中获取整个列表对象的最简单方法,python,list,Python,List,假设我有一个这样的列表对象。如何在不使用for语句和附加到字符串的情况下打印一行中的列表对象 我想要的输出: l = [['John'],['rides'],['bike'],['with'],['Mr.','Brown'],] 主要编辑: l = [['John'],['rides'],['bike'],['with'],['Mr.','Brown'],] 我之所以提出这个问题,是因为我分析了基于文本的文档,并提取了命名实体的信息,所以我的问题是当我在列表中列出“姓名+姓氏”或“诸如此类的

假设我有一个这样的列表对象。如何在不使用for语句和附加到字符串的情况下打印一行中的列表对象

我想要的输出:

l = [['John'],['rides'],['bike'],['with'],['Mr.','Brown'],]
主要编辑:

l = [['John'],['rides'],['bike'],['with'],['Mr.','Brown'],]
我之所以提出这个问题,是因为我分析了基于文本的文档,并提取了命名实体的信息,所以我的问题是当我在列表中列出“姓名+姓氏”或“诸如此类的组织”等顺序专有名词时:

print("my sentence:" + ? )
print("people:" + ? + ", " + ?)

my sentence: John rides bike with Mr. Brown
people: John, Mr. Brown
我有一个将列表对象与数据集进行比较并描述实体类型的算法。在if声明确定[u'Millevekili',u'Ay\u015fe']为人名后

[[u'Milletvekili', u'Ay\u015fe'], [u'oraya'], [u'Merve', u'Han\u0131m'], [u'ile'], [u'gitti'], [u'.']]
我把它附加在我的新列表中,它将作为我的输出,就像[个人:布朗先生]。但我必须将大写单词分组,然后我的输出总是这样:

if gettype(arr[i][0].split("'")[0]) == "Özel İsim":
      newarr.append("[Person: " + str(arr[i][0]) + "]")
虽然没有“总和”那么优雅,但您也可以使用和:

借用:


展平列表,然后使用
''
加入

" ".join(sum(l, []))
Out[130]: 'John rides bike with Mr. Brown'
或使用
itertools.chain

>>> ' '.join(s for sub in l for s in sub)
'John rides bike with Mr. Brown'

非常优雅的解决方案!这正是我想要的,但我如何将其实现到我的双打印功能?我的意思是,当我想打印john和brown时,我不能这样使用sum:打印(“人名:“+”,”。连接(sum(arr[0],arr[4]))当我尝试上面的代码时,这就是我使用unicode列表类型得到的结果错误:只能连接列表(而不是“unicode”)你能举一个包含unicode字符的列表的例子吗?只是编辑了这个问题,没有弄错任何东西。这也是我要找的,但输出是[Person:[u'Mr.,u'Brown']]知道我为什么不能连续打印对象吗?@Ardanaban抱歉,很难说。目前还不清楚你得到了什么样的输入数据以及你想要的输出结果。你能编辑这个问题并澄清一下吗?非常感谢。编辑了我的问题,恐怕不太明白我想,但我能说的是我得到的是[Person:[u'Mr.,u'Brown']],而不是[Person:Brown]
>>> ' '.join(s for sub in l for s in sub)
'John rides bike with Mr. Brown'
>>> from itertools import chain
>>> ' '.join(chain(*l))
'John rides bike with Mr. Brown'