检查值是否在值列表中预先发送

大家好,
我将感谢更熟练的毕达斯塔斯人的帮助.
我有一个小应用程序,可以生成一个序列
00341
01741
03254
我将这个值放在列表中.
所以我有一个列表= [00341,01741,03254]
程序找到序列03401之后,此序列为"新",因此
它在列表上附加.但是我想避免这种价值观
已经在列表的第一个序列(00341)上.
如果我尝试使用"在"语句中,它将给出错误.如00341
不同于00341(但出于我的目标不是..)
我如何检查此列表并避免放置"不同"
序列但是相同的值?
AS 34100-列表中的直接附加
14300 ---不要附加列表
05321-将其应用于列表.
我是否使用列表进行一些概念错误?
有更好的方法吗?
谢谢

# 回答1


Flit写道:
考虑使用分类的元组键,例如
d = {}
对于['00341','01741','03254']中的seq:
ky = list(seq)
ky.sort()
D [元组(ky)] =无
然后d.keys()是独特的组合.
hth,
Emile
# 回答2


埃米尔·范·塞比尔(Emile Van Sebille)写道:
考虑使用分类的元组键,例如
d = {}
对于['00341','01741','03254']中的seq:
ky = list(seq)
ky.sort()
D [元组(ky)] =无
然后d.keys()是独特的组合.
hth,
埃米尔
我不是在判断这是否是一个很好的解决方案,但这是
愚蠢的使用dict.一组会更好.
s = set()
对于['00341','01741','03254']中的seq:
S.Add(元组(分类(ky)))
然后,您只是直接访问该集合,而不是使用D.Keys()
或者其他的东西.
(我还用简短的()函数替换了排序.
这一切都假设您至少有Python 2.4 ...)
-
# 回答3


在9盘,15:13,布鲁诺·德霍利尔(Bruno Desthuilliers)
是的,但是在集合的幻影之前,代码中有些普遍
作为内置类型.
感谢您的所有贡献,当然,我从所有样本中学到了很多东西.
很好的线程和答案.
谢谢你们

标签: python

添加新评论