Калі вы хочаце пераўтварыць спісы (масіў) і картэжы адзін у аднаго ў Python, выкарыстоўвайце list() і tuple().
Калі ў якасці аргументаў даюцца ітэрацыйныя аб’екты, такія як тыпы набораў, а таксама спісы і картэжы, вяртаюцца новыя аб’екты тыпаў list і tuple.
- class list([iterable]) — Built-in Functions — Python 3.10.2 Documentation
- class tuple([iterable]) — Built-in Functions — Python 3.10.2 Documentation
Прыкладамі з’яўляюцца наступныя зменныя спісу, картэжа і тыпу дыяпазону.
l = [0, 1, 2]
print(l)
print(type(l))
# [0, 1, 2]
# <class 'list'>
t = ('one', 'two', 'three')
print(t)
print(type(t))
# ('one', 'two', 'three')
# <class 'tuple'>
r = range(10)
print(r)
print(type(r))
# range(0, 10)
# <class 'range'>
Дыяпазон() вяртае аб’ект тыпу range пачынаючы з Python 3.
Звярніце ўвагу, што хоць тэрмін «канверсія» выкарыстоўваецца для зручнасці, новы аб’ект фактычна ствараецца, а першапачатковы аб’ект застаецца некранутым.
Стварыць спіс:list()
Калі ітэрацыйны аб’ект, такі як картэж, задаецца ў якасці аргумента для list(), генеруецца спіс з гэтым элементам.
tl = list(t)
print(tl)
print(type(tl))
# ['one', 'two', 'three']
# <class 'list'>
rl = list(r)
print(rl)
print(type(rl))
# [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
# <class 'list'>
Стварыць картэжы:tuple()
Калі ітэрацыйны аб’ект, напрыклад спіс, паказаны ў якасці аргумента для tuple(), генеруецца картэж з гэтым элементам.
lt = tuple(l)
print(lt)
print(type(lt))
# (0, 1, 2)
# <class 'tuple'>
rt = tuple(r)
print(rt)
print(type(rt))
# (0, 1, 2, 3, 4, 5, 6, 7, 8, 9)
# <class 'tuple'>
Дадаваць або змяняць элементы картэжаў
Картэжы нязменныя (не абнаўляюцца), таму элементы нельга змяняць або выдаляць. Тым не менш, кортэж са змененымі або выдаленымі элементамі можна атрымаць, выкарыстоўваючы list() для стварэння спісу, змяняючы або выдаляючы элементы, а затым зноў выкарыстоўваючы tuple().