问题如下:
编写一个代码来仅查找列表中以数字 3 结尾的数字。 将结果存储在名为“output_list”的空列表中。注意:对于这个你有 将整数转换为字符串并使用索引查找最后一位数字。
我们有清单:
x = [12,43,4,1,6,343,10, 34, 12, 93, 783, 330, 896, 1, 55]
首先,我尝试使用 for 循环将整数转换为字符串数据类型。
output_list = []
for i in x:
output_list.append(str(i))
print(output_list)
输出为:
['12', '43', '4', '1', '6', '343', '10', '34', '12', '93', '783', '330', '896', '1', '55']
然后,在列表中查找以数字 3 结尾的数字。 我正在使用这个 for 循环来查找以数字 3 结尾的数字,但它不起作用。
for i in output_list:
if(output_list[len(i) -1]=='3'):
print(output_list)
简单的Pythonic单行:
x = [12,43,4,1,6,343,10, 34, 12, 93, 783, 330, 896, 1, 55]
output_list = [str(i) for i in x if str(i)[-1]=="3"]
print(output_list) # ['43', '343', '93', '783']
我不知道为什么要求您将整数转换为字符串以实现此目的。当你需要的只是:
时,这是非常低效的x = [12,43,4,1,6,343,10, 34, 12, 93, 783, 330, 896, 1, 55]
print([v for v in x if v % 10 == 3])
输出:
[43, 343, 93, 783]
但是,为了完整起见,您可以这样做来完成简介:
print([v for v in x if str(v)[-1] == '3'])
试试这个:
x = [12, 43, 4, 1, 6, 343, 10, 34, 12, 93, 783, 330, 896, 1, 55] y = [] 对于 x 中的 i: 如果 str(i)[-1] ==“3”: y = 我 打印(y)