Кроме скобок, кавычек и запятых есть различия между строкой и кортежем? - PullRequest
0 голосов
/ 17 марта 2020

Мы знаем, что ("a","b","c") - это кортеж, а "abc" - это строка. Но разница в том, как они выглядят? Запятая в скобках - кортеж, внутри кавычек - строка.

Я имею в виду, что строки неизменяемы, имеют последовательность, индексируются и имеют символ в качестве компонента. Но ("a", "b", "c") также имеют эти свойства, поэтому вещи, которые делают его кортежем, являются только круглыми скобками и запятыми?

1 Ответ

0 голосов
/ 17 марта 2020

Они очень разные. Вот несколько примеров различий, даже не близких к завершению.

Строка - это последовательность символов, но кортеж может быть последовательностью любых типов.

("a", 123, "bc")

Если вы используете оператор in в строке, он ищет подстроку:

"bcd" in "abcdef"

имеет значение true. Но оператор in просто ищет один соответствующий элемент в кортеже.

"b" in ("a", "b", "c", "d", "e")

- это истина, а

"bcd" in ("a", "b", "c", "d", "e")

- нет. Также

("b", "c", "d") in ("a", "b", "c", "d", "e")

Многие функции ожидают строки в качестве аргументов и не будут использовать кортеж в качестве замены.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...