Hãy thử [(val,)] = t
In [8]: t = [("asdf",)]
In [9]: (val,) = t
In [10]: val
Out[10]: ('asdf',)
In [11]: [(val,)] = t
In [12]: val
Out[12]: 'asdf'
Tôi không nghĩ rằng có một cách sạch sẽ để đi về nó.
val = t[0][0]
là lựa chọn ban đầu của tôi, nhưng có vẻ xấu xí.
[(val,)] = t
cũng hoạt động nhưng trông xấu xí quá. Tôi đoán nó phụ thuộc vào đó là dễ dàng hơn để đọc và những gì bạn muốn nhìn ít xấu xí, val
hoặc t
Tôi thích ý tưởng của Lior rằng giải nén danh sách và bộ chứa một khẳng định.
In [16]: t2 = [('asdf',), ('qwerty',)]
In [17]: [(val,)] = t2
---------------------------------------------------------------------------
ValueError Traceback (most recent call last)
<ipython-input-17-73a5d507863a> in <module>()
----> 1 [(val,)] = t2
ValueError: too many values to unpack
Nguồn
2013-03-31 14:58:49
Tôi vừa thử nghiệm điều này và không hoạt động. Thật không may nó không thoát khỏi danh sách ban đầu. –
Ví dụ trong câu hỏi hoạt động. Chính xác thì bạn đã cố gắng làm gì? – Lior
Lời xin lỗi của tôi, tôi đã thử lại và nó hoạt động. Tôi không chắc tại sao nó không hoạt động trước đó; tất cả những gì tôi có thể nghĩ là tôi để lại ',' sau giá trị '. –