Task01: 变量、运算符、数据类型及位运算

Task01: 变量、运算符、数据类型及位运算

  1. 怎样对python中的代码进行注释?
    单行注释:#
    多行注释:’’’ ‘’’ or “”" “”"

  2. python有哪些运算符,这些运算符的优先级是怎样的?
    算数运算符比较运算符逻辑运算符位运算符三元运算符其他运算符
    运算符的优先级:一元运算符优于二元运算符先算术运算,后移位运算,最后位运算逻辑运算最后结合

  3. python 中 is, is not 与 ==, != 的区别是什么?
    is, is not 对比的是两个变量的内存地址;
    ==, != 对比的是两个变量的值;
    比较的两个变量,指向的都是地址不可变的类型(str等),那么is,is not 和 ==,!= 是完全等价的;
    对比的两个变量,指向的是地址可变的类型(list,dict,tuple等),则两者是有区别的。

  4. python 中包含哪些数据类型?这些数据类型之间如何转换?
    基本类型:整型,浮点型,布尔型;
    容器类型:字符串,元组,列表,字典和集合
    类型转换:
    转换为整型 int(x, base=10)
    转换为字符串 str(object=’’)
    转换为浮点型 float(x)

  5. 如何获取类型信息
    type(object) 和isinstance(object, classinfo),这俩的区别是type() 不会认为子类是一种父类类型,不考虑继承关系,isinstance() 会认为子类是一种父类类型,考虑继承关系

  6. 变量名规则
    变量名可以包括字母、数字、下划线、但变量名不能以数字开头,python变量名区分大小写

  7. 位运算
    原码&反码&补码
    反码:正数的反码就是原码,负数的反码是符号位不变,其余位取反(对应正数按位取反)
    补码:正数的补码就是原码,负数的补码是反码+1
    按位与&:只有两个对应位都为 1 时才为 1
    按位或 |:只要两个对应位中有一个 1 时就为 1
    按位异或^:只有两个对应位不同时才为 1
    特别注意:0和任何数异或都是任何数,注意哦,leetcode会用到
    按位左移操作 <<
    按位右移操作 >>
    利用位运算实现快速计算
    n << 1 -> 计算 n2
    n >> 1 -> 计算 n/2,负奇数的运算不可用
    n << m -> 计算 n
    (2^m),即乘以 2 的 m 次方
    n >> m -> 计算 n/(2^m),即除以 2 的 m 次方
    1 << n -> 2^n
    a 补 -> ~a
    a 交 b -> a & b
    a 并 b -> a | b
    a 差 b -> a & (~b)

  8. leetcode 练习题
    习题 136. 只出现一次的数字

给定一个非空整数数组,除了某个元素只出现一次以外,其余每个元素均出现两次。找出那个只出现了一次的元素。


from collections import Counter

class Solution(object):
    def singleNumber(self,nums):
        numdic = dict(Counter(nums))
        for k,v in numdic.items():
            if v == 1:
                return k
print (Solution().singleNumber([1,2,2,3,3]))

用位运算解决

class Solution(object):
    def singleNumber(self, nums):
        """
        :type nums: List[int]
        :rtype: int
        """
        a = 0
        for num in nums:
            a = a^num
        return a
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值