Что такое тильда ~ в Python? Тильда Питона ~ N. Оператор т Оператор отрицания побитона : Требуется номер n как двоичный номер и «переворачивает» все биты От 0 до 1 и 1 до 0. Чтобы получить дополнение двоичного номера. Например, операция тильды ~ 1. становится 0 и ~ 0. становится 1 и ~ 101. становится 010 .
Но вы должны быть осторожны, потому что целочисленное значение 0
представлен многими битами. Например, если у вас есть целое число 0, представленное восемью битами (один байт) 0000 0000
операция тильды ~ 0000 0000
приводит к значению 1111 1111
который является целочисленным значением -1
Отказ
Общая формула для расчета операции Tilde ~ I. на целочисленной цене i является ~ i = -i-1 .
Посмотрите на код Python, где вы преобразуете целое число 42 с двоичным представлением 0010 1010
к дополнению -0010 1011
:
>>> a = 42 >>> bin(a) '0b101010' >>> ~a -43 >>> bin(~a) '-0b101011'
Попробуйте сами в нашей интерактивной Python Shell:
Можете ли вы угадать вывод кода в интерактивной оболочке? Угадайте первым, затем проверьте, правильно ли вы догадаетесь!
Если вы боретесь по пониманию, как оператор Tilde работает на целых числах, посмотрите на следующую таблицу:
Tilde Python Table
Вот таблица, показывающая результаты различных операций Tilde на положительных целочисленных целях.
-1 | ~ 0. | ~ 00000000 -> 11111111 |
-2 | ~ 1. | ~ 00000001 -> 11111110 |
-3 | ~ 2. | ~ 00000010 -> 11111101 |
-4 | ~ 3. | ~ 00000011 -> 11111100 |
-5 | ~ 4. | ~ 00000100 -> 11111011 |
-6 | ~ 5. | ~ 00000101 -> 11111010 |
-7 | ~ 6. | ~ 00000110 -> 11111001 |
-8 | ~ 7. | ~ 00000111 -> 11111000 |
-9 | ~ 8. | ~ 00001000 -> 11110111 |
-10 | ~ 9. | ~ 00001001 -> 11110110 |
-11 | ~ 10. | ~ 00001010 -> 11110101 |
-12 | ~ 11. | ~ 00001011 -> 11110100 |
Вот таблица, показывающая результаты различных операций Tilde на отрицательных целочисленных значениях.
-1 | ~ 0. | ~ 00000000 -> 11111111 |
0 | ~ -1. | ~ 11111111 -> 00000000 |
1 | ~ -2 | ~ 11111110 -> 00000001 |
2 | ~ -3. | ~ 11111101 -> 00000010 |
3 | ~ -4. | ~ 11111100 -> 00000011 |
4 | ~ -5. | ~ 11111011 -> 00000100 |
5 | ~ -6. | ~ 11111010 -> 00000101 |
6 | ~ -7 | ~ 11111001 -> 00000110 |
7 | ~ -8 | ~ 11111000 -> 00000111 |
8 | ~ -9 | ~ 11110111 -> 00001000 |
9 | ~ -10 | ~ 11110110 -> 00001001 |
10 | ~ -11 | ~ 11110101 -> 00001010 |
Общая формула для расчета операции Tilde ~ я
это ~ I = -I-1
Отказ
Так что же использование оператора Tilde?
Массив Тильда Питона
Вы можете использовать оператор Tilde в Python при индексировании элементов списка.
Вы можете знать негативные Индексирование Схема в Python, где вы можете получить доступ к последнему элементу A Список Python lst
с lst [-1]
и второй последний элемент с lst [-2]
Отказ
Но это может чувствовать себя неестественно для вас, потому что отрицательная индексация массива начинается с -1, и вы привыкли к положительной индексации, который начинается с 0. И вот как оператор Tilde вступает в игру: используйте оператор Tilde, чтобы преобразовать ваши положительные показатели в отрицательные показатели как ~ 0 = -1
и ~ 1 = -2
и так далее.
Вот графическое представление:
И вот пример кода:
>>> lst = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9] >>> lst[-10] 0 >>> lst[~9] 0 >>> lst[-1] 9 >>> lst[~0] 9
Вы можете увидеть, что это может привести к более интуитивно понятной индексации для некоторых людей.
Тильда Питон Пандас
Иногда вы увидите оператор Tilde в PandaS DataFrame для индексации. Вот пример:
import pandas as pd # Create a DataFrame df = pd.DataFrame([{'User': 'Alice', 'Age': 22}, {'User': 'Bob', 'Age': 24}]) print(df) ''' User Age 0 Alice 22 1 Bob 24 ''' # Use Tilde to access all lines where user doesn't contain 'A' df = df[~df['User'].str.contains('A')] print(df) ''' User Age 1 Bob 24 '''
Оператор Tilde отрицает логические значения в DataFrame: Правда
становится Ложь
и Ложь
становится Правда
Отказ
Вы можете увидеть это в действии при печати результата разных операций:
Это оригинальное dataframe в коде:
print(df) ''' User Age 0 Alice 22 1 Bob 24 '''
Теперь примените операцию содержимого, чтобы найти все имена пользователей, которые содержат символ «А»
Отказ
print(df['User'].str.contains('A')) ''' 0 True 1 False Name: User, dtype: bool '''
Результатом является DataFrame с логическими значениями, которые указывают, содержит ли пользователь символ «А»
или нет.
Применим оператор Tilde на результате:
print(~df['User'].str.contains('A')) ''' 0 False 1 True Name: User, dtype: bool '''
Теперь мы используем этот файл dataframe для доступа только к тем строям с пользователями, которые не содержат символа «А»
Отказ
df = df[~df['User'].str.contains('A')] print(df) ''' User Age 1 Bob 24 '''
Давайте посмотрим на некоторые связанные вопросы.
Тильда Python Path
Tilde Python Использование – Пример Палиндром
https://medium.com/@kevingxyz/dont-look-so-listless-it-s-python-list-part-2-tilde-operator-685a2a880e4b
https://www.semicolonworld.com/question/43829/the-tilde-operator-in-python
Фильтр тильда Python
Python расширить тильду
Python Escape Tilde.
Эквивалент тильды
Tilde Regex Python
Python разрешает тильду
Python заменить тильду
Python unary Tilde.
Python Tilde Index.
Python Tilde путь
Python Pathlib Tilde.
Python Print Tilde.
Python Asspath Tilde.
Python Subprocess Tilde.
Python Tilde VS восклицательный
Python Tilde не/отрицание
Куда пойти отсюда?
Достаточно теории, давайте познакомимся!
Чтобы стать успешным в кодировке, вам нужно выйти туда и решать реальные проблемы для реальных людей. Вот как вы можете легко стать шестифункциональным тренером. И вот как вы польские навыки, которые вам действительно нужны на практике. В конце концов, что такое использование теории обучения, что никто никогда не нуждается?
Практические проекты – это то, как вы обостряете вашу пилу в кодировке!
Вы хотите стать мастером кода, сосредоточившись на практических кодовых проектах, которые фактически зарабатывают вам деньги и решают проблемы для людей?
Затем станьте питоном независимым разработчиком! Это лучший способ приближения к задаче улучшения ваших навыков Python – даже если вы являетесь полным новичком.
Присоединяйтесь к моему бесплатным вебинаре «Как создать свой навык высокого дохода Python» и посмотреть, как я вырос на моем кодированном бизнесе в Интернете и как вы можете, слишком от комфорта вашего собственного дома.
Присоединяйтесь к свободному вебинару сейчас!
Работая в качестве исследователя в распределенных системах, доктор Кристиан Майер нашел свою любовь к учению студентов компьютерных наук.
Чтобы помочь студентам достичь более высоких уровней успеха Python, он основал сайт программирования образования Finxter.com Отказ Он автор популярной книги программирования Python One-listers (Nostarch 2020), Coauthor of Кофе-брейк Python Серия самооставленных книг, энтузиаста компьютерных наук, Фрилансера и владелец одного из лучших 10 крупнейших Питон блоги по всему миру.
Его страсти пишут, чтение и кодирование. Но его величайшая страсть состоит в том, чтобы служить стремлению кодер через Finxter и помогать им повысить свои навыки. Вы можете присоединиться к его бесплатной академии электронной почты здесь.