如何将以1开头的数字添加到列表中?
def digit1x(lx):
list = []
for num in lx:
temp = str(num)
if temp[0]== '1':
list.append(int(temp))
return list
print(digit1x(lx))
更新了代码,并且可以正常工作,谢谢您的帮助!
答案 0 :(得分:0)
如果num是num[0]
,则不能执行int
,例如,您可以写str(num)[0] == '1'
。不要忘记处理特殊情况。
答案 1 :(得分:0)
您是否认为数字以10为底的数字以1开头?在这种情况下,您应该在检查数字之前先强制使用字符串:
>>> num = 12345
>>> str(num)
'12345'
>>> str(num)[0]
'1'
答案 2 :(得分:0)
由于无法获取整数的[0]索引值,因此发生了错误。仅可能获得数组或字符串的索引值。创建一个变量('temp'↓),该变量是该整数的[0]索引的字符串变量,然后在条件语句中使用该变量:
这有效:
def digit1x(lx):
list = []
for num in lx:
temp = str(lx[num])
if temp[0] == '1':
list.append(temp)
return list
print(digit1x(lx))
temp的值是当前项目的字符串值。
'temp [0]'是temp中的第一个字符,因此是当前项目中的第一个字符。
因此,如果temp [0]等于'1',则当前项中的第一个数字为1。