Python 如何检查列表中每个元素的第一个索引是否相同

Python 如何检查列表中每个元素的第一个索引是否相同,python,Python,['2C','2S','2H'] 如果我有一个如上所述的列表,我如何检查列表中的每个元素是否以2开头。 但这两个数字可以改变为任何数字,有时也可以用a来填补空白。 e、 g:['2C','2S','AH'] x = ['2C', '2S', 'AH'] y = ['2C', '2S', '2H'] for i, j in zip(x, y): if i[0] != j[0]: print('Item {} in list x and item {} in list y

['2C','2S','2H']
如果我有一个如上所述的列表,我如何检查列表中的每个元素是否以2开头。 但这两个数字可以改变为任何数字,有时也可以用a来填补空白。 e、 g:
['2C','2S','AH']

x = ['2C', '2S', 'AH']
y = ['2C', '2S', '2H']
for i, j in zip(x, y):
    if i[0] != j[0]: 
        print('Item {} in list x and item {} in list y are not starting with same character'.format(i, j)
您将得到以下结果

Item AH in list x and item 2H in list y are not starting with same character

我假设您希望输出
true
,如果每个元素都以
2
开头,否则输出
false

感谢@chepner建议使用发电机


这回答了你的问题吗?这是一个字符串,因此您可以在列表上循环并使用
startswith('2')
检查您的问题是否不清楚。什么差距,2是否有任何模式需要更改以填充?如果使用生成器表达式而不是列表理解,
all
可以在找到不匹配的元素后立即停止<代码>全部(列表A中i的i[0]='2')。(也就是说,在
all
开始检查结果之前,您不必将每个元素与
'2'
进行比较。)谢谢。我将根据需要编辑我的帖子,不硬编码“2”,先将其分配给变量,这样每次迭代都不会重新计算:
first=listA[0][0];all(列表a中i的第一个i[0]==)
(但需要先进行检查以确保列表非空)。因为OP说“但这两个数字可以变为任何数字”。
listA = ['2C', '2S', '2H']
listB = ['2C', '2S', 'AH']

all(i[0] == '2' for i in listA)     # true
all(i[0] == '2' for i in listB)     # false