Подтвердить что ты не робот

Могу ли я поместить кортеж в массив в python?

Мне интересно, как поместить кортеж в массив? или лучше использовать массивы в массиве для разработки программы, а не кортежа в массиве? пожалуйста, советую мне. спасибо

4b9b3361

Ответ 1

Следует иметь в виду, что tuple является неизменным. Это означает, что после его создания вы не можете изменить его на месте. A list, с другой стороны, является изменяемым - это означает, что вы можете добавлять элементы, удалять элементы и изменять элементы на месте. В списке есть дополнительные накладные расходы, поэтому используйте только список, если вам нужно изменить значения.

Вы можете создать список кортежей:

>>> list_of_tuples = [(1,2),(3,4)]
>>> list_of_tuples
[(1, 2), (3, 4)]

или список списков:

>>> list_of_lists = [[1, 2], [3, 4]]
>>> list_of_lists
[[1, 2], [3, 4]]

Разница в том, что вы можете изменять элементы в списке списков:

>>> list_of_lists[0][0] = 7
>>> list_of_lists
[[7, 2], [3, 4]]

но не со списком кортежей:

>>> list_of_tuples[0][0] = 7
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
TypeError: 'tuple' object does not support item assignment

Чтобы перебрать список кортежей:

>>> for (x,y) in list_of_tuples:
...    print x,y
... 
1 2
3 4

Ответ 2

если вы говорите о list, вы можете поместить в него что угодно, даже разные типы:

l=[10,(10,11,12),20,"test"]

l[0] = (1,2,3)
l.append((4,5))
l.extend((21,22)) #this one adds each element from the tuple

если вы имеете в виду array, python array не поддерживает кортежи.

Ответ 3

a = [ ('b', i , "ff" ) for i in range(1,5)]