如何检查列表(或数组)上的条件,然后在Python中根据该条件对元素进行排序

我有一个包含n个元素的复数列表,我想检查有多少个元素是实数(虚数部分为零),然后以以实数开头的方式对列表进行排序。

例如,下面的列表:

a = [ 7 + 0j, -2 + 3j, -2 - 3j, 5 + 6j, 5 - 6j, -1+ 0j, -8 + 4j, -8 - 4j]

有两个元素是实数(第一个元素和第六个元素),我想知道列表中有2个实数元素,然后想像下面这样以实数开头的元素,而其他元素保持不变:

b = [ 7 + 0j, -1+ 0j, -2 + 3j, -2 - 3j, 5 + 6j, 5 - 6j, -8 + 4j, -8 - 4j]

我怎样才能做到这一点?谢谢

哈什鲁

您可以通过将数字的虚部与零进行比较来对数字进行排序。那些数字为0的将排在第一位,其余数字将保持不变。

a = sorted(a, key=lambda x:x.imag!=0)
print(a)

产出

[(7+0j), (-1+0j), (-2+3j), (-2-3j), (5+6j), (5-6j), (-8+4j), (-8-4j)]

要获取此类条目的数量,请使用

sum(x.imag == 0 for x in a)

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

如何进行一个查询,对两个条件的数据进行排序,然后从初始表/查询中添加与该条件对应的所有值?

如何根据条件对列表进行排序?

如何根据条件对具有不同索引的python中的列表进行排序?

根据条件对列表进行排序

如何根据python中的特定条件对值进行排序?

通过元素上的条件值对numpy数组元素进行排序

优化reducer,该条件根据参数的条件对对象进行排序

根据Python中的条件对元素进行分组

根据条件对元素进行计数,该条件的值取自某个键

如何根据元素条件对提取的值进行排序

如何根据特定条件对列表进行排序

根据多个条件对数组中的项目进行排序

列表元素根据复杂条件排序

根据多个条件对列表进行排序

根据多个条件对元组列表进行排序

从列表python过滤元素,如何根据条件从列表中获取元素

如何根据python中的条件进行连接

如何根据给定列表/数组中的div ID对div元素进行排序?

如何根据子列表中的条件删除列表元素

Ansible如何根据条件检查列表中的值

一个线性函数,用于根据python中的不同条件以升序,降序对列表的字符串列表进行排序

python使用条件对列表中的对象进行排序

如何根据条件从列表中获取元素及其索引?

如何根据条件替换列表中的多个元素?

根据python中的列表理解条件跳过元素

根据条件在python中添加子列表元素

根据条件在Python中删除元组列表的元素

Python:根据键值条件从字典列表中删除元素

根据条件在嵌套列表中插入缺失的元素-Python