吾爱破解 - 52pojie.cn

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

查看: 1356|回复: 14
收起左侧

[讨论] python 如何一下判断多个数据为整数

[复制链接]
ymhld 发表于 2020-9-5 12:36
[Python] 纯文本查看 复制代码
a = 12.5
b = 13
c = -12
print(isinstance(b, int))
print(isinstance(i, int) for i in [a,b,c])

print(*(i for i in [a,b,c]))



print(isinstance(i, int) for i in [a,b,c])
这句出来的是迭代器,怎么修改

发帖前要善用论坛搜索功能,那里可能会有你要找的答案或者已经有人发布过相同内容了,请勿重复发帖。

漁滒 发表于 2020-9-5 12:39
是判断多个数据同时为整数,还是对每一个数据判断?
pwp 发表于 2020-9-5 12:43
先做个flag=1,遍历一遍,如果有一个不是int就flag =0
最后if就returntrueorfalse啊
君临天下v 发表于 2020-9-5 12:52
非要一下子判断吗..... 把数字全部放入nums里就行

nums = (12.5,13,-12)
print(sum([int(not isinstance(i, int)) for i in nums]) == 0)

免费评分

参与人数 2吾爱币 +4 热心值 +2 收起 理由
萌.新 + 1 + 1 我很赞同!
pwp + 3 + 1 膜拜大佬

查看全部评分

君临天下v 发表于 2020-9-5 12:57
pwp 发表于 2020-9-5 12:43
先做个flag=1,遍历一遍,如果有一个不是int就flag =0
最后if就returntrueorfalse啊

楼主说的是一下判断,意思是代码在一行内搞定吧,你这又是flag还要if的怎么算一下判断
漁滒 发表于 2020-9-5 12:57
[Python] 纯文本查看 复制代码
list1 = [12.5, 13, -12]
list2 = [0, 13, -12]

# 分别判断
list1_1 = list(map(lambda n: type(n) == int, list1))
print(list1_1)
list2_1 = list(map(lambda n: type(n) == int, list2))
print(list2_1)

# 同时判断
list1_2 = sum(list1_1) == len(list1_1)
print(list1_2)
list2_2 = sum(list2_1) == len(list2_1)
print(list2_2)
pwp 发表于 2020-9-5 12:59
君临天下v 发表于 2020-9-5 12:57
楼主说的是一下判断,意思是代码在一行内搞定吧,你这又是flag还要if的怎么算一下判断

深受C语言影响
君临天下v 发表于 2020-9-5 13:05
pwp 发表于 2020-9-5 12:59
深受C语言影响

c语言是静态语言啊,类型都是固定的,最多判断浮点是不是整数,变量肯定提前就知道是不是int类型的啊。
不过你这样判断更好,就算代码变成一行实际上程序复杂度比你这个思路要高得多的。
kesai 发表于 2020-9-5 13:08
[Python] 纯文本查看 复制代码
print(all(type(i) is int for i in [a, b, c]))
dleo 发表于 2020-9-5 13:15

这个all 可以有
您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则

返回列表

RSS订阅|小黑屋|处罚记录|联系我们|吾爱破解 - LCG - LSG ( 京ICP备16042023号 | 京公网安备 11010502030087号 )

GMT+8, 2024-11-26 13:44

Powered by Discuz!

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表