Python,检查子字符串中的元素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

我试图检查每个子列表中位置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 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')