簡體   English   中英

從列表的第一個元素中刪除雙引號

[英]remove double quotes from first element of the list

我想從此列表中刪除雙引號:

>>> a
["6/1, 0, 0, ['79', '80', '81', '82']"]

我嘗試將list的第一個元素轉換為list,但它是一個字符串,但比較簡單:

>>> a[0]
"6/1, 0, 0, ['79', '80', '81', '82']"

>>> list(a[0])
['6', '/', '1', ',', ' ', '0', ',', ' ', '0', ',', ' ', '[', "'", '7', '9', "'", ',', ' ', "'", '8', '0', "'", ',', ' ', "'", '8', '1', "'", ',', ' ', "'", '8', '2', "'", ']']

預期產量:

>>> a
[6/1, 0, 0, ['79', '80', '81', '82']]
                    or
>>> a
['6/1', '0', '0', ['79', '80', '81', '82']]

有人可以幫我解決這個問題嗎?

這會將字符串評估為列表:

a = list(eval(a[0]))

[6, 0, 0, ['79', '80', '81', '82']]

如果您知道端口將是6/1,則可以將其替換為以下字符串:

a = list(eval(a[0]))
a[0] = '6/1'

['6/1', 0, 0, ['79', '80', '81', '82']]

如果您的端口將要更改,但是您知道它將始終是第一個元素,則可以執行以下操作:

a = list(eval("'" + a[0].split(',')[0] + "'" + "," + ','.join(a[0].split(',')[1:])))

['6/1', 0, 0, ['79', '80', '81', '82']]

或更清潔的版本:

l = a[0].split(',')
a = list(eval("'" + l[0] + "' ," + ','.join(l[1:])))

['6/1', 0, 0, ['79', '80', '81', '82']]

x= ["6/1, 0, 0, ['79', '80', '81', '82']" ]
a=x[0].replace('\'','').split(', [')
finallist=a[0].split(',')
finallist.append(a[1].replace(']','').split(','))
print (finallist)

輸出

['6/1', ' 0', ' 0', ['79', ' 80', ' 81', ' 82']]

暫無
暫無

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

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