Python中列表相“与”时出现的问题
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
运算时,我们从最简单的两数相与开始讨论
- 两数相与:
当x and y
的结果为True
的时候,返回的并不是True
,而是运算结果的最后一位变量的值。这里是返回y
的值。 - 列表相与:
列表list1
和list2
中遍历元素i
和j
。当i and j
结果为False
的时候,返回的是第一个False
的值,如i
和j
都为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))]
c
和d
的运算方式都可以得到正确的结果。
这样的方式在其他数据结构中并不一定成立。如在numpy
中的数组np.array
支持矩阵之间的and
运算,然后返回对应布尔矩阵。pandas
中的Series
和DataFrame
中也支持相应的布尔索引
Python中列表相“与”时出现的问题相关推荐
- Python中列表及其操作
文章目录 前言 一.列表简介 二.访问列表元素 三.修改.添加和删除列表元素 1.修改列表元素 2.在列表中添加元素 3.从列表中删除元素 四.对列表元素排序 五.确定列表长度 六.遍历列表 七.创建 ...
- 四、Python第四课——Python中列表及其操作(增删改查)
目录 一.Python中的列表 1.列表的定义和赋值 2.列表的使用 二.列表的"增删改查" 1.列表中元素的增加 A.在列表尾添加元素 B.在列表中插入元素 2.列表中" ...
- 总结python中列表、元组、字典、集合的共同点和不同点
前言: 今天就和大家只聊聊python中列表.元组.字典.集合的共同点和不同点,能力有限,写的不好的地方,请大家多多海涵! 列表list 列表和元组·都是有序的 # 元组与列表相似可以通过索引与切片获 ...
- python中列表中的字符串转换成数字
python中列表中的字符串转换成数字 调整实验时,发现某个嵌套列表的字典中需要把列表中的字符串改成数字,不能直接强转,需要以下代码实现 m_dict_G = {}for key in md_dict ...
- Python中列表和字符串的反转
要求: 原列表:[13, 30, 42, 85, 9, 45] 反转后的列表:[45, 9, 85, 42, 30, 13] 原字符串:hello 反转后的字符串:olleh Python现成的反转功 ...
- 手写Python中列表和字符串的反转
要求: 原列表:[13, 30, 42, 85, 9, 45] 反转后的列表:[45, 9, 85, 42, 30, 13] 原字符串:hello 反转后的字符串:olleh Python现成的反转功 ...
- python中列表 元组 字典 集合的区别
参考文章:python中列表 元组 字典 集合的区别
- python中列表的运用_python中列表的应用
标签: 本文主要介绍了:python中列表的主要应用和一些列表自带的一些函数 代码: #!/usr/bin/env python # author by lh # -*- coding:utf-8 - ...
- python中列表的sort方法_python中列表的sort方法使用详解
内容简介:python中列表的sort方法使用详解 一.基本形式 列表有自己的sort方法,其对列表进行原址排序,既然是原址排序,那显然元组不可能拥有这种方法,因为元组是不可修改的. 排序,数字.字符 ...
- python中列表字典和字符串的相互转化
python中列表字典和字符串的相互转化有两种方法: (1)使用str和eval的方法,一个简单的例子如下: data = {'name' : 'ACME','shares' : 100,'price ...
最新文章
- Fastp对fastq质控
- 如何对系统中设置的修改记录增加log日志
- Integer对象范围(-128-127)之间(Integer. valueOf()方法)
- OpenGL-坐标系
- 【转】面试题:将多个集合合并成没有交集的集合
- idea自动导包_IDEA已经世界第一了,听说你还不会?
- linux执行命令带时间戳,Linux查看History记录加时间戳的小技巧
- C#调用天气查询服务
- LeetCode【1051. 高度检查器】
- 7-4 输出菱形图案 (5 分)
- 深度强化学习中实验环境-开源平台框架汇总
- 前端性能优化的常用手段
- 计算机操作系统 第五版 答案,操作系统-第5版-习题答案.doc
- 弗洛伊德本我、自我、超我理论
- 用坚果云同步mysql_使用技巧 | 什么?坚果云还可以同步这些App?
- Git 使用过程中遇到的问题以及解决办法
- 【机器视觉】Halcon 18安装教程
- 高一上册计算机应用基础,计算机应用基础高一期末考试试题及答案
- 软件版本各阶段英文名称
- 【SugerTangYL】UART串口通信 Verilog