1.异或运算

  十进制的异或运算,先转成二进制进行异或,按位进行比较,对应位置相同则为0,对应位置不同则为1,,再从异或结果转成十进制。

  python中:

  1 ^ 1 = 0

  1 ^ 2 = 3

  1 ^ 0 = 1

  0 ^ 1 = 1

  1 的二进制0000 0001

  2 的二进制0000 0010

  1 ^ 2 的二进制是:0000 0011 换算成十进制为3

  异或的交换律  1 ^ 0 = 0 ^ 1

  异或的结合律   1 ^ 2 ^ 3 =  1 ^ (2 ^ 3)

一个非空整数列表,除了某个元素只出现一次外,其余每个元素均出现两次,找到只出现一次的元素,leetcode136

例如 [1,2,3,4,3,2,1]
异或的结合律和交换律
1 ^ 2 ^ 3 ^ 4 ^ 3 ^ 2 ^ 1 = 1 ^ 1 ^ 2 ^ 2 ^ 3 ^ 3 ^ 4 = 0 ^ 4 = 4 def solve(li):
temp = li[0]
for i in range(1,len(li)):
temp = temp ^li[i]
print(temp) 结果:4 一般解法:
def solve(li):
for i in range(len(li)):
ret = li.count(li[i])
if ret == 1:
print(li[i]) solve([1,2,3,4,3,2,1]) 结果:4
1 - n 放在含有 n + 1 个元素的列表中,只有唯一的一个元素值重复,其他均只出现一次,每个列表元素只能访问一次,设计一个算法,将它找出来,不能使用辅助存储空间 Leetcode 287
分析:找出重复的元素。
1-5个元素的列表-- [1,2,3,4,5]
5+1个元素的列表---[0,1,2,3,4,5]
[1,2,3,3,4,5] 找出3
同样的异或结合律和交换律
0 ^ 1 ^ 2 ^ 3 ^ 4 ^ 5 ^ 1 ^ 2 ^ 3 ^ 3 ^ 4 ^ 5
思路:一个数奇数次异或自己就是本身,偶数次异或自己就是0,要找出3,就让3自己异或自己奇数次。其他数异或自己偶数次,就可以了。 0 ^ 1 ^ 2 ^ 3 ^ 4 ^ 5 ^ 1 ^ 2 ^ 3 ^ 3 ^ 4 ^ 5 = 1 ^ 1 ^ 2 ^ 2 ^ 0 ^ 3 ^ 3 ^ 3 ^ 4 ^ 4 ^ 5 ^ 5 = 3 def sove(li):
ret = 0
temp_li = [x for x in range(0,len(li)]
for i in range(0, len(temp_li))
ret = ret ^ li[i] ^ temp_li[i]
print(ret) sove([1,2,3,3,4,5]) 结果:3

2.按位运算

  按位与运算符:参与运算的两个值,如果两个相应位都为1,则该位的结果为1,否则为0

  a = 1111  0100

  b = 1001 1011

  a & b = 1001 0000

  

python基础:3.高级运算符的更多相关文章

  1. python基础语法(运算符及优先级)

    python基础语法(运算符及优先级) python语言支持的运算符类型 算数运算符 假设变量a为10,变量b为21 算数符 描述 实例 + 加-两个对象相加 a+b结果31 - 减-得到一个负数或者 ...

  2. Python自动化 【第七篇】:Python基础-面向对象高级语法、异常处理、Scoket开发基础

    本节内容: 1.     面向对象高级语法部分 1.1   静态方法.类方法.属性方法 1.2   类的特殊方法 1.3   反射 2.     异常处理 3.     Socket开发基础 1.   ...

  3. python基础之七种运算符

    废话不多说,上节说的是数据类型,本篇讲讲数据运算. 在算式"1+2"中,"1"和"2"被称为操作数,"+"被称为运算符 ...

  4. python基础语法_7运算符

    http://www.runoob.com/python3/python3-basic-operators.html#ysf7 目录 Python语言支持以下8类型的运算符: 算术运算符(-,+,*, ...

  5. Python之路,Day8 - Python基础 面向对象高级进阶与socket基础

    类的成员 类的成员可以分为三大类:字段.方法和属性 注:所有成员中,只有普通字段的内容保存对象中,即:根据此类创建了多少对象,在内存中就有多少个普通字段.而其他的成员,则都是保存在类中,即:无论对象的 ...

  6. python基础--数据类型、运算符、流程控制

    原文地址:https://www.liaoxuefeng.com/wiki/0014316089557264a6b348958f449949df42a6d3a2e542c000/00143165862 ...

  7. python基础 - 变量与运算符

    变量与运算符 变量 定义一个变量 a = [1,2,3,4,5,6] print(a) # [1,2,3,4,5,6] 变量命名要求: 首字母不能是数字 只能包含字符数字下划线 不能是关键字 type ...

  8. Python 基础1 - 位运算符

    引言 本文主要介绍位运算符,实际上Python有以下7类运算符: [赋值运算符].[比较运算符].[算术运算符].[逻辑运算符].[身份运算符].[成员运算符].[位运算符] 位运算符 按位运算符是把 ...

  9. python基础一(运算符/变量定义/数据类型)

    一.运算符 1.算数运算符 (1)加(+) 注意:字符串与整数之间不能进行相加,需要通过str()或int()进行转换数据类型 整数与整数相加 >>> 1 + 1 2 >> ...

  10. Python基础之基本运算符

    目录 1. 算数运算符 2. 比较运算符 3. 赋值运算符 4. 逻辑运算符 5. 身份运算 6. 运算符优先级 1. 算数运算符 常用算术运算符使用方法如下: x = 5 y = 2 a = x + ...

随机推荐

  1. [luogu]P1463 [SDOI2005]反素数ant[dfs][数学][数论]

    [luogu]P1463 [SDOI2005]反素数ant ——!x^n+y^n=z^n 题目描述 对于任何正整数x,其约数的个数记作g(x).例如g(1)=1.g(6)=4. 如果某个正整数x满足: ...

  2. Best Practices For Running On The PS4

    原文:https://forums.unrealengine.com/showthread.php?54448-Best-Practices-For-Running-On-The-PS4 Hey gu ...

  3. NOIp 数据结构专题总结 (1):STL、堆、并查集、ST表、Hash表

    系列索引: NOIp 数据结构专题总结 (1) NOIp 数据结构专题总结 (2) STL structure STL 在 OI 中的运用:https://oi.men.ci/stl-in-oi/ s ...

  4. tomcat配置解决乱码问题

    在服务器上,如果项目是Tomcat启动的,可以用以下方式的设置解决乱码问题: 方法1.在Tomcat的catalina.sh(或者catalina.bat)文件中,开头加入: set JAVA_OPT ...

  5. PageObject设计模式 在selenium 自动化测试里面的应用

    PageObject设计模式1. Web自动化测试框架(WebTestFramework)是基于Selenium框架且采用PageObject设计模式进行二次开发形成的框架. 2. web测试时,建议 ...

  6. vs2017或vs2019添加引用时报错

    我先安装的是vs2019,进入VS命令提示符里后一直说:gacutil 不是有效的命令,一直没能解决,然后直接装了vs2017后,该命令可以使用了, 还是用VS2017吧,2019的版本感觉还有点问题 ...

  7. unittest测试框架生成可视化测试报告-BeautifulReport

    生成报告的样式: 在说unittest之前,先说几个概念: TestCase 也就是测试用例 TestSuite 多个测试用例集合在一起,就是TestSuite TestLoader是用来加载Test ...

  8. 测开之路六十:接口测试平台之common目录

    实现接口测试平台使用jsonpath进行取值来断言,效果: 访问页面: 调试功能:http://www.kuaidi100.com/query 保存功能 触发执行功能 查看报告功能 目录结构 comm ...

  9. 16/7/14-MySQL-遇到的基本问题

    从一开始遇到的3534 ---------------------------------------------------------------------------------------- ...

  10. Orcle获取当前时间加小时

    如下是oracle 获取当前数据库时间加2个小时 select to_date(TO_CHAR (SYSDATE, 'yyyy-mm-dd hh24:mi:ss'),'yyyy-mm-dd hh24: ...