python编码中,我们有时希望对两个长度相同的列表进行像“按位与”的操作,但结果并不如我们的预期。
如:

a=[0,0,1,1,1,0]
b=[1,0,1,0,1,0]            # 预期是得到[0,0,1,0,1,0]
e=a and b              # e列表为   [1,0,1,0,1,0]

进行and运算时,我们从最简单的两数相与开始讨论

  1. 两数相与:
    x and y的结果为True的时候,返回的并不是True,而是运算结果的最后一位变量的值。这里是返回y的值。
  2. 列表相与:
    列表list1list2中遍历元素ij。当i and j结果为False的时候,返回的是第一个False的值,如ij都为False那么返回i的值,i为真,j为假,那么返回的是j的值。
    这样看来,一开始的例子运算的结果就可以解释了。

但这样并不能得到我们预期的效果。
可以编码如下:

c=[a[i] & b[i] for i in range(len(a))]
d=[a[i] and b[i] for i in range(len(a))]

cd的运算方式都可以得到正确的结果。
这样的方式在其他数据结构中并不一定成立。如在numpy中的数组np.array支持矩阵之间的and运算,然后返回对应布尔矩阵。pandas中的SeriesDataFrame中也支持相应的布尔索引

Python中列表相“与”时出现的问题相关推荐

  1. Python中列表及其操作

    文章目录 前言 一.列表简介 二.访问列表元素 三.修改.添加和删除列表元素 1.修改列表元素 2.在列表中添加元素 3.从列表中删除元素 四.对列表元素排序 五.确定列表长度 六.遍历列表 七.创建 ...

  2. 四、Python第四课——Python中列表及其操作(增删改查)

    目录 一.Python中的列表 1.列表的定义和赋值 2.列表的使用 二.列表的"增删改查" 1.列表中元素的增加 A.在列表尾添加元素 B.在列表中插入元素 2.列表中" ...

  3. 总结python中列表、元组、字典、集合的共同点和不同点

    前言: 今天就和大家只聊聊python中列表.元组.字典.集合的共同点和不同点,能力有限,写的不好的地方,请大家多多海涵! 列表list 列表和元组·都是有序的 # 元组与列表相似可以通过索引与切片获 ...

  4. python中列表中的字符串转换成数字

    python中列表中的字符串转换成数字 调整实验时,发现某个嵌套列表的字典中需要把列表中的字符串改成数字,不能直接强转,需要以下代码实现 m_dict_G = {}for key in md_dict ...

  5. Python中列表和字符串的反转

    要求: 原列表:[13, 30, 42, 85, 9, 45] 反转后的列表:[45, 9, 85, 42, 30, 13] 原字符串:hello 反转后的字符串:olleh Python现成的反转功 ...

  6. 手写Python中列表和字符串的反转

    要求: 原列表:[13, 30, 42, 85, 9, 45] 反转后的列表:[45, 9, 85, 42, 30, 13] 原字符串:hello 反转后的字符串:olleh Python现成的反转功 ...

  7. python中列表 元组 字典 集合的区别

    参考文章:python中列表 元组 字典 集合的区别

  8. python中列表的运用_python中列表的应用

    标签: 本文主要介绍了:python中列表的主要应用和一些列表自带的一些函数 代码: #!/usr/bin/env python # author by lh # -*- coding:utf-8 - ...

  9. python中列表的sort方法_python中列表的sort方法使用详解

    内容简介:python中列表的sort方法使用详解 一.基本形式 列表有自己的sort方法,其对列表进行原址排序,既然是原址排序,那显然元组不可能拥有这种方法,因为元组是不可修改的. 排序,数字.字符 ...

  10. python中列表字典和字符串的相互转化

    python中列表字典和字符串的相互转化有两种方法: (1)使用str和eval的方法,一个简单的例子如下: data = {'name' : 'ACME','shares' : 100,'price ...

最新文章

  1. Fastp对fastq质控
  2. 如何对系统中设置的修改记录增加log日志
  3. Integer对象范围(-128-127)之间(Integer. valueOf()方法)
  4. OpenGL-坐标系
  5. 【转】面试题:将多个集合合并成没有交集的集合
  6. idea自动导包_IDEA已经世界第一了,听说你还不会?
  7. linux执行命令带时间戳,Linux查看History记录加时间戳的小技巧
  8. C#调用天气查询服务
  9. LeetCode【1051. 高度检查器】
  10. 7-4 输出菱形图案 (5 分)
  11. 深度强化学习中实验环境-开源平台框架汇总
  12. 前端性能优化的常用手段
  13. 计算机操作系统 第五版 答案,操作系统-第5版-习题答案.doc
  14. 弗洛伊德本我、自我、超我理论
  15. 用坚果云同步mysql_使用技巧 | 什么?坚果云还可以同步这些App?
  16. Git 使用过程中遇到的问题以及解决办法
  17. 【机器视觉】Halcon 18安装教程
  18. 高一上册计算机应用基础,计算机应用基础高一期末考试试题及答案
  19. 软件版本各阶段英文名称
  20. 【SugerTangYL】UART串口通信 Verilog

热门文章

  1. Makefile中的奇葩字符
  2. arm编程语言基础c,ARM基础:ARM 伪指令详解
  3. python删除元素del 可以删除部分元素吗_可以使用del删除集合中的部分元素。
  4. 190606-190610《跟秋叶学PPT》
  5. python matplotlib画图及配色
  6. MongoDB基础教程
  7. 【NLP】from glove import Glove的使用、模型保存和加载
  8. 卖给高通之后的CSR的现状和未来
  9. jq滚动小插件superslide2,的确是很强悍的
  10. Java 43---SpringMVC框架(1)