![](/img/trans.png)
[英]What is the performance difference between "a<=b" and "(a<b) OR (a==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.