Python,检查子字符串中的元素X
我试图检查每个子列表中位置X的元素是否相同。比如: 我们有一份清单:Python,检查子字符串中的元素X,python,find,substring,Python,Find,Substring,我试图检查每个子列表中位置X的元素是否相同。比如: 我们有一份清单: s= [[0,0,0],[0,0,1],[0,0,1]] 我想检查第三个元素在所有子列表中是否相同。如本例所示,应该仅对第二和第三个子列表为真 for x in s: if x[2] == 1: print "T" 试图打印它们,但这只是打印它们每一次,当它进入。我只想检查列表中的第三个元素在子列表中是否相同 谢谢大家! s= [[0,0,0],[0,0,1],[0,1,1]] pos=2 for
s= [[0,0,0],[0,0,1],[0,0,1]]
我想检查第三个元素在所有子列表中是否相同。如本例所示,应该仅对第二和第三个子列表为真
for x in s:
if x[2] == 1:
print "T"
试图打印它们,但这只是打印它们每一次,当它进入。我只想检查列表中的第三个元素在子列表中是否相同
谢谢大家!
s= [[0,0,0],[0,0,1],[0,1,1]]
pos=2
for i in range(len(s)):
for j in range(len(s)):
if i<j:
if s[i][2]==s[j][2]:
print (s[i],s[j])
在此代码中,比较所有转租,如果最后一个pos中的编号相同,则打印2个列表
输出:
[0,0,1][0,1,1]
您可以尝试以下方法:
decision = 'T'
s= [[0,0,0],[0,0,1],[0,0,1]]
for x in s:
if x[2] != 1:
decision = "F"
break
print(decision)
输出:
F
或者:
if all(x[2] == 1 for x in s):
print('T')
else:
print('F')
如果您事先不知道第三个要素:
if len({x[2] for x in s}) == 1:
print('T')
else:
print('F')
你的方法是错误的, 至于我对这个问题的理解,您需要检查列表中的第三个元素是否与列表中的所有元素相同,使用这样一个函数,返回True is same element else False
def is_same(s) :
temp = s[0][2] # temporarily save the 3rd element in a variable
for x in s : # loop through all the elements
if x[2] != temp : # check for the miss match
return False
return True
s = [[0,0,1], [0, 1, 1], [0,1,1]]
print(is_same(s))
你可以用所有的
或者你可以拉拉链
不清楚你所说的“子字符串”是什么意思。您是指子列表吗?您可以使用来收集某个位置的所有元素,例如listzip*s[2]是的,我的意思是子列表,我的坏…不是硬编码要检查的值,而是从第一个条目中获取相应的值。或者,使用map或list从所有条目中获取第三个值,然后使用reduce之类的方法检查它们是否相等。或者一个集合:如果您将一个序列馈送到一个集合并以一个元素结束,那么所有项都是相等的,因此len{entry[2]for entry in s}==1。您使用的是Python 2吗?如果是,为什么?问题是检查第三项是否相同,而不是打印它们。
s= [[0,0,1],[0,0,1],[0,0,1]]
if all(map(lambda x:x[-1],s)):
print('T')
else:
print('N')
x= zip(*s)
if len(set(x[-1]))==1:
print('T')
else:
print ('N')