簡體   English   中英

如何將子列表轉換為列表

[英]How to convert sublist to list

我下面有這樣的清單,

[
    'August 28, 2017',
    'gilbert arizona',
    '33.3528264',
    '-111.789027',
    '1236 Feet',
    "[u'  ASCE 7* Ground Snow LoadElevation 2,000 feet', u' Ground Snow Load is0 psf']"
]

我想把它轉換成表格

[
    'August 28, 2017',
    'gilbert arizona',
    '33.3528264',
    '-111.789027',
    '1236 Feet',
    'ASCE 7* Ground Snow LoadElevation 2,000 feet',
    ' Ground Snow Load is0 psf'
]

我同意cricket_007,您確實應該從源頭上解決這個問題,因為它的數據格式不正確,任何解決方案都將很脆弱並且容易中斷。 就是說,如果您只需要快速而又骯臟的東西,則應該在避免使用不安全的eval函數的同時執行以下操作:

from ast import literal_eval

def flatten(iterable):
    result = []

    for item in iterable:
        try:
            item_eval = literal_eval(item)
            if not isinstance(item_eval, list):
                raise ValueError()
        except (ValueError, SyntaxError):
            result.append(item)
        else:
            result.extend(flatten(item_eval))

    return result


>>> data = [
...     'August 28, 2017',
...     'gilbert arizona',
...     '33.3528264',
...     '-111.789027',
...     '1236 Feet',
...     "[u'  ASCE 7* Ground Snow LoadElevation 2,000 feet', u' Ground Snow Load is0 psf']"
... ]

>>> flatten(data)
['August 28, 2017', 'gilbert arizona', '33.3528264', '-111.789027', '1236 Feet', u'  ASCE 7* Ground Snow LoadElevation 2,000 feet', u' Ground Snow Load is0 psf']

暫無
暫無

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

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