Python 板


LINE

如果三个变数,互相都不等於。罗辑上是 x != y != z 但是这样写是错的,必需写成: x != y and x != z and y != z 那如果要多个变数,互相都不相等, 举个例子,例如,5个变数互不相等, 即 x != y != z != I != j 那有啥简洁又正确的写法吗? 我是问Python 3, 谢谢。 ----- Sent from JPTT on my iPhone --



※ 发信站: 批踢踢实业坊(ptt.cc), 来自: 223.136.42.3 (台湾)
※ 文章网址: https://webptt.com/cn.aspx?n=bbs/Python/M.1590227109.A.0D3.html
1F:推 cuteSquirrel: https://onlinegdb.com/SkbFX_Ls8 05/23 17:57
2F:推 Yshuan: 推 取set很棒 05/23 18:04
3F:→ pmove: C大好方法,也就是 5 == len(set(x,y,z,I,j)) 05/23 18:10
4F:→ pmove: 但是如果 x,y,z,I,j 是class, 那就无法用set, 这时有无好方 05/23 18:12
5F:→ pmove: 法? 05/23 18:12
6F:推 TitanEric: 感觉用all也可以 05/23 18:12
7F:→ TitanEric: class有override equal跟hash就可以 05/23 18:13
8F:→ outshaker: class可以用id 或 hash 来判断阿 05/23 18:20
9F:→ pmove: 例如变数是list的情况,x=[2,1,1], y=[1,2,1], z=[2,1,1], 05/23 18:49
10F:→ pmove: I=[1,1,2], j=[2,2,1]. 这种情况set((x,y,z,I,j))会有错, 05/23 18:49
11F:→ pmove: 有何好方法? 05/23 18:49
12F:→ pmove: 转成tuple是一种方法 05/23 18:53
13F:→ pmove: Ok, 感谢以上各位大大的回答 05/23 18:54
14F:推 vi000246: 如果是复杂情况就override equal再用for loop判断吧 05/23 19:52
15F:→ outshaker: 复杂变数要检查互不相等,就写回圈检查阿 05/23 19:54
16F:→ zerof: operator.ne 05/23 20:30
17F:推 ddavid: 如果该class可以被sort的话,单纯的两两比较是O(n^2),先 05/23 20:30
18F:→ ddavid: sort後只比较相邻元素是O(nlogn + n) = O(nlogn)会好一点 05/23 20:31
19F:→ ddavid: 另外上面提到hash也是一种方式,就是看看要花多少额外空间 05/23 20:32
20F:→ pmove: 回z大, operator.ne只能传入两个arguments的样子,没法多个 05/23 22:03
21F:→ alvinlin: 我感觉原来的最简洁好懂。不知道为何要缘木求鱼。x != y 05/24 03:25
22F:→ alvinlin: and x != z and y != z不是挺好的 05/24 03:25
23F:推 oToToT: 他应该试想处里有很多变数的情况吧,例如1000个之类的 05/24 14:46
24F:→ zerof: ....你可以用 list comprehension +zip 05/24 17:32
25F:→ zerof: zip 会漏, itertools.combinations 才对 05/24 18:08
26F:推 alan23273850: 这种问题 stackoverflow 上面应该很多ㄅ 05/24 18:28
27F:→ pmove: 回z大, combinations我知,不过很多变数的情况,个人觉得c 05/24 20:42
28F:→ pmove: 大的set法,速度会比较快 05/24 20:42
29F:→ s860134: 直觉 hash table 查数量确实会快一点 05/30 18:02







like.gif 您可能会有兴趣的文章
icon.png[问题/行为] 猫晚上进房间会不会有憋尿问题
icon.pngRe: [闲聊] 选了错误的女孩成为魔法少女 XDDDDDDDDDD
icon.png[正妹] 瑞典 一张
icon.png[心得] EMS高领长版毛衣.墨小楼MC1002
icon.png[分享] 丹龙隔热纸GE55+33+22
icon.png[问题] 清洗洗衣机
icon.png[寻物] 窗台下的空间
icon.png[闲聊] 双极の女神1 木魔爵
icon.png[售车] 新竹 1997 march 1297cc 白色 四门
icon.png[讨论] 能从照片感受到摄影者心情吗
icon.png[狂贺] 贺贺贺贺 贺!岛村卯月!总选举NO.1
icon.png[难过] 羡慕白皮肤的女生
icon.png阅读文章
icon.png[黑特]
icon.png[问题] SBK S1安装於安全帽位置
icon.png[分享] 旧woo100绝版开箱!!
icon.pngRe: [无言] 关於小包卫生纸
icon.png[开箱] E5-2683V3 RX480Strix 快睿C1 简单测试
icon.png[心得] 苍の海贼龙 地狱 执行者16PT
icon.png[售车] 1999年Virage iO 1.8EXi
icon.png[心得] 挑战33 LV10 狮子座pt solo
icon.png[闲聊] 手把手教你不被桶之新手主购教学
icon.png[分享] Civic Type R 量产版官方照无预警流出
icon.png[售车] Golf 4 2.0 银色 自排
icon.png[出售] Graco提篮汽座(有底座)2000元诚可议
icon.png[问题] 请问补牙材质掉了还能再补吗?(台中半年内
icon.png[问题] 44th 单曲 生写竟然都给重复的啊啊!
icon.png[心得] 华南红卡/icash 核卡
icon.png[问题] 拔牙矫正这样正常吗
icon.png[赠送] 老莫高业 初业 102年版
icon.png[情报] 三大行动支付 本季掀战火
icon.png[宝宝] 博客来Amos水蜡笔5/1特价五折
icon.pngRe: [心得] 新鲜人一些面试分享
icon.png[心得] 苍の海贼龙 地狱 麒麟25PT
icon.pngRe: [闲聊] (君の名は。雷慎入) 君名二创漫画翻译
icon.pngRe: [闲聊] OGN中场影片:失踪人口局 (英文字幕)
icon.png[问题] 台湾大哥大4G讯号差
icon.png[出售] [全国]全新千寻侘草LED灯, 水草

请输入看板名称,例如:e-shopping站内搜寻

TOP