簡體   English   中英

如何在Python中展平嵌套列表?

[英]How do I flatten nested lists in Python?

我的清單是:

 [['kukatpally'], ['gachibowli'], ['Madhapur'], ['Chintal'],........]

我想這樣顯示

 ['kukatpally', 'gachibowli', 'Madhapur', 'Chintal',....]

那么如何刪除那些'['和']'符號。

提前致謝

使用itertools.chain

import itertools

l = [['kukatpally', 'somethingelse'], ['gachibowli'], ['Madhapur'], ['Chintal']]

list(itertools.chain(*l))
>> ['kukatpally', 'somethingelse', 'gachibowli', 'Madhapur', 'Chintal']

或者itertools.chain.from_iterable

import itertools

l = [['kukatpally', 'somethingelse'], ['gachibowli'], ['Madhapur'], ['Chintal']]

list(itertools.chain.from_iterable(l))
>> ['kukatpally', 'somethingelse', 'gachibowli', 'Madhapur', 'Chintal']

假設您的意思是您的子列表可能包含多個項目:

 >>> ls = [['kukatpally'], ['gachibowli'], ['Madhapur'], ['Chintal']]
 >>> new_list = [item for sublist in ls for item in sublist]
 >>> new_list
 ['kukatpally', 'gachibowli', 'Madhapur', 'Chintal']
>>> ls = [['kukatpally'], ['gachibowli'], ['Madhapur'], ['Chintal']]
>>> l = [x[0] for x in ls]
>>> l
['kukatpally', 'gachibowli', 'Madhapur', 'Chintal']
>>> 
new_list = [item[0] for item in old_list]

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM