Рубрики
Без рубрики

Оператор Tilde (~) в Python

Что такое тильда ~ в Python? Оператор Python’s Tilde ~ N – это оператор отрицания побитового отрицания: требуется номер N в качестве двоичного номера и «переворачивает» все биты от 0 до 1 и 1 до 0, чтобы получить двоичное число дополнения. Например, операция Tilde ~ 1 становится 0 и ~ 0 становится 1 и ~ 101 … Оператор Tilde (~) в Python Подробнее »

Автор оригинала: Chris.

Что такое тильда ~ в 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 и помогать им повысить свои навыки. Вы можете присоединиться к его бесплатной академии электронной почты здесь.