簡體   English   中英

python中['[a,a,a]','[b,b,b]']和[[a,a,a],[b,b,b]]之間有什么區別?

[英]what is the difference between ['[a,a,a]','[b,b,b]'] and [[a,a,a],[b,b,b]] in python?

在我的程序中,當我調試我的代碼時,它似乎在我生成的代碼中的某處

X1=['[a,a,a]','[b,b,b]'] 

以及我生成的其他地方

X2=[[a,a,a],[b,b,b]] 

當我想添加這兩個列表,然后使用numpy.array(X1+X2)我得到錯誤。 問題是我不知道我的代碼有什么問題,因為我甚至不知道這兩者之間有什么區別(即引用和沒有引用)。 如果我找到這個問題的答案,那么我也可以找到我的問題。

X1是包含兩個字符串的列表

X2是一個包含兩個列表的列表,每個列表包含三個變量。

關於將字符串轉換為列表,您必須創建一個空列表,然后從字符串中刪除方括號,然后查找“,”並將之前找到的內容添加到列表中。

剛剛結束@JoshuaWierenga的答案:

>>> a, b = 1, 2
>>> X1=['[a,a,a]','[b,b,b]']
>>> X2=[[a,a,a],[b,b,b]]
>>> [eval(i) for i in X1] == X2
True
>>> [str(i) for i in X2] == X1
False
>>> [str(i) for i in X2]
['[1, 1, 1]', '[2, 2, 2]']
>>> a, b = 'a', 'b'
>>> X2=[[a,a,a],[b,b,b]]
>>> [str(i) for i in X2]
["['a', 'a', 'a']", "['b', 'b', 'b']"]

你可以看到X1可以轉化為X2,但是從另一個方向來看它有點棘手。

暫無
暫無

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

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