假设有列表 lst = [ 3, 5, 6, 0, -2, -8, 9 ],生成两个列表lst1和lst2。
lst1中存放原列表lst中所有大于0的整数,并计算其平均值。
lst2中存放原列表lst中所有小于0的整数,并计算其平均值。
输出lst1和lst2,以及平均值
第1个回答 2020-04-15
lst = [3, 5, 6, 0, -2, -8, 9]
lst1 = [i for i in lst if i > 0]
lst2 = [i for i in lst if i < 0]
print('lst1:{},:{}'.format(lst1, sum(lst1)/len(lst1)))
print('lst2:{},平均值:{}'.format(lst2, sum(lst2)/len(lst2)))
本回答被提问者采纳第2个回答 2020-04-15
代码:
lst = [ 3, 5, 6, 0, -2, -8, 9]
lst1 = [i for i in lst if i > 0]
lst2 = [i for i in lst if i < 0]
print('lst1 is:',lst1)
print('lst1 average is:',sum(lst1)/len(lst1))
print('lst2 is:',lst2)
print('lst2 average is:',sum(lst2)/len(lst2))
运行结果
lst1 is: [3, 5, 6, 9]
lst1 average is: 5.75
lst2 is: [-2, -8]
lst2 average is: -5.0
lst = [ 3, 5, 6, 0, -2, -8, 9]
lst1 = [i for i in lst if i > 0]
lst2 = [i for i in lst if i < 0]
print('lst1 is:',lst1)
print('lst1 average is:',sum(lst1)/len(lst1))
print('lst2 is:',lst2)
print('lst2 average is:',sum(lst2)/len(lst2))
运行结果
lst1 is: [3, 5, 6, 9]
lst1 average is: 5.75
lst2 is: [-2, -8]
lst2 average is: -5.0
第3个回答 2020-04-19
希望对你有帮助:
lst = [3, 5, 6, 0, -2, -8, 9]
print(lst)
lst1 = lst[:]
lst2 = lst[:]
for number in lst1:
if number < 0:
lst1.remove(number)
else:
continue
add_number = 0
for number in lst1:
add_number += number
mean = add_number / len(lst1)
print("lst1: ", lst1, "\n\tmean = ", mean)
for number in lst2:
if number > 0:
lst1.remove(number)
else:
continue
add_number = 0
for number in lst2:
add_number += number
mean = add_number / len(lst2)
print("lst2: ", lst2, "\n\tmean = ", mean)
亲测有效!
lst = [3, 5, 6, 0, -2, -8, 9]
print(lst)
lst1 = lst[:]
lst2 = lst[:]
for number in lst1:
if number < 0:
lst1.remove(number)
else:
continue
add_number = 0
for number in lst1:
add_number += number
mean = add_number / len(lst1)
print("lst1: ", lst1, "\n\tmean = ", mean)
for number in lst2:
if number > 0:
lst1.remove(number)
else:
continue
add_number = 0
for number in lst2:
add_number += number
mean = add_number / len(lst2)
print("lst2: ", lst2, "\n\tmean = ", mean)
亲测有效!