返回python中的第一个元素
我有一个返回python中的第一个元素,python,Python,我有一个S1=(15,20,65) 我想循环遍历这个列表/元组/数组,并得到第一个元素15 我所做的是: for sensor in S1: print (sensor[0]) 但是我得到了一个错误TypeError:“int”对象不可下标 然后,我尝试了以下代码: for sensor in S1: print (str(sensor)[0]) 但它会打印所有数字的第一位 如何获得结果15(第一个元素)?S1[0]给出了第一个元素 您的第一个代码不起作用,因为当您循环S1时
S1=(15,20,65)
我想循环遍历这个列表/元组/数组,并得到第一个元素15
我所做的是:
for sensor in S1:
print (sensor[0])
但是我得到了一个错误TypeError:“int”对象不可下标
然后,我尝试了以下代码:
for sensor in S1:
print (str(sensor)[0])
但它会打印所有数字的第一位
如何获得结果
15
(第一个元素)?S1[0]给出了第一个元素
您的第一个代码不起作用,因为当您循环S1时,传感器已经是一个整数,然后传感器[0]就没有意义了。首先,让我们澄清一下:您的变量
S1
是一个元组。列表放在方括号内
您在S1
上的循环表示“对于此元组中的每个元素,打印该元素的第一个元素”。这意味着它将尝试为每个整数值下标,这是不可能的
当您第一次将每个元素转换为字符串时,它工作的原因是字符串是可下标的,它们在您提供的索引处为您提供字符
通过阅读您的问题,我不确定您是想要元组中的第一项等于15,还是只想要第一项,在本例中正好是15
前者:
def get_15(t):
for el in t:
if el == 15:
return el
return -1
get_15((1, 2, 3, 15)) # => 15
get_15((1, 2, 3)) # => -1
后者:
def get_first(t):
return t[0]
get_first((1, 2, 3)) # 1
get_first((3, 2, 1)) # 3
这很有效。打印15张
S1 = [15, 20, 65]
print(S1[0])
如果您有
Test=(15,20,65)
,则只需为第一个元素键入print(Test[0])
。无需循环从值中删除[0]
“无需循环”,只需打印S1[0]