Tôi có một số đối tượng.id-s mà tôi cố gắng lưu trữ trong phiên người dùng dưới dạng tuple. Khi tôi thêm cái đầu tiên, nó hoạt động nhưng Tuple trông giống như
a = ['2',]
b = 'z'
new = [*a, b]
2 nhưng khi tôi cố gắng thêm một cái mới bằng cách sử dụng a = ['2',]
b = 'z'
new = [*a, b]
3 có lỗi a = ['2',]
b = 'z'
new = [*a, b]
4.
Tomerikoo
16.7K15 Huy hiệu vàng38 Huy hiệu bạc54 Huy hiệu đồng15 gold badges38 silver badges54 bronze badges
Khi được hỏi ngày 24 tháng 5 năm 2013 lúc 8:04May 24, 2013 at 8:04
Bạn cần phải biến phần tử thứ hai thành 1-tuple, ví dụ:
a = ['2',]
b = 'z'
new = a + [b,]
Đã trả lời ngày 24 tháng 5 năm 2013 lúc 8:05May 24, 2013 at 8:05
Jon Clements ♦ Jon Clements♦Jon Clements
135K32 Huy hiệu vàng240 Huy hiệu bạc273 Huy hiệu Đồng32 gold badges240 silver badges273 bronze badges
5
Kể từ Python 3.5 [PEP 448], bạn có thể giải nén trong một bộ, danh sách và dict:
a = ['2',]
b = 'z'
new = [*a, b]
Đã trả lời ngày 28 tháng 8 năm 2016 lúc 15:56Aug 28, 2016 at 15:56
Nitelynelynitely
2.06722 Huy hiệu bạc23 Huy hiệu đồng22 silver badges23 bronze badges
2
Từ tuple đến danh sách đến tuple:
a = ['2',]
b = 'b'
l = list[a]
l.append[b]
tuple[l]
Hoặc với danh sách các mục dài hơn để nối thêm
a = ['2',]
items = ['o', 'k', 'd', 'o']
l = list[a]
for x in items:
l.append[x]
print tuple[l]
mang đến cho bạn
>>>
['2', 'o', 'k', 'd', 'o']
Điểm ở đây là: Danh sách là một loại chuỗi có thể thay đổi. Vì vậy, bạn có thể thay đổi một danh sách nhất định bằng cách thêm hoặc loại bỏ các yếu tố. Tuple là một loại trình tự bất biến. Bạn không thể thay đổi một tuple. Vì vậy, bạn phải tạo ra một cái mới.mutable sequence type. So you can change a given list by adding or removing elements. Tuple is an immutable sequence type. You can't change a tuple. So you have to create a new one.
Modesto
2452 huy hiệu bạc5 huy hiệu đồng2 silver badges5 bronze badges
Đã trả lời ngày 24 tháng 5 năm 2013 lúc 8:22May 24, 2013 at 8:22
Kiriloffkiriloffkiriloff
24.8K34 Huy hiệu vàng141 Huy hiệu bạc217 Huy hiệu đồng34 gold badges141 silver badges217 bronze badges
3
Tuple chỉ có thể cho phép thêm
a = ['2',]
b = 'z'
new = [*a, b]
5 vào nó. Cách tốt nhất để làm điều đó là:mytuple =[u'2',]
mytuple +=[new.id,]
Tôi đã thử cùng một kịch bản với dữ liệu dưới đây, tất cả dường như đang hoạt động tốt.
>>> mytuple = [u'2',]
>>> mytuple += ['example text',]
>>> print mytuple
[u'2','example text']
Julienc
17.8K17 Huy hiệu vàng80 Huy hiệu bạc80 Huy hiệu đồng17 gold badges80 silver badges80 bronze badges
Đã trả lời ngày 2 tháng 7 năm 2014 lúc 15:25Jul 2, 2014 at 15:25
>>> x = [u'2',]
>>> x += u"random string"
Traceback [most recent call last]:
File "", line 1, in
x += u"random string"
TypeError: can only concatenate tuple [not "unicode"] to tuple
>>> x += [u"random string", ] # concatenate a one-tuple instead
>>> x
[u'2', u'random string']
Đã trả lời ngày 24 tháng 5 năm 2013 lúc 8:05May 24, 2013 at 8:05
Jon Clements ♦ Jon Clementsjamylak
135K32 Huy hiệu vàng240 Huy hiệu bạc273 Huy hiệu Đồng29 gold badges227 silver badges227 bronze badges
0
Kể từ Python 3.5 [PEP 448], bạn có thể giải nén trong một bộ, danh sách và dict:
a = ['x', 'y']
b = a + ['z',]
print[b]
Đã trả lời ngày 28 tháng 8 năm 2016 lúc 15:56
a = ['x', 'y']
b = a + tuple['b']
print[b]
NitelynelyAug 18, 2017 at 16:27
2.06722 Huy hiệu bạc23 Huy hiệu đồngbritodfbr
Từ tuple đến danh sách đến tuple:13 silver badges16 bronze badges
1
Hoặc với danh sách các mục dài hơn để nối thêm
a = ['2',]
b = 'z'
new = [*a, b]
0
a = ['2',]
items = ['o', 'k', 'd', 'o']
l = list[a]
for x in items:
l.append[x]
print tuple[l]
Feb 7, 2020 at 5:20
mang đến cho bạn
a = ['2',]
b = 'z'
new = [*a, b]
1Điểm ở đây là: Danh sách là một loại chuỗi có thể thay đổi. Vì vậy, bạn có thể thay đổi một danh sách nhất định bằng cách thêm hoặc loại bỏ các yếu tố. Tuple là một loại trình tự bất biến. Bạn không thể thay đổi một tuple. Vì vậy, bạn phải tạo ra một cái mới.Sep 15 at 2:41
2