Python编程与数据分析基础 入门(二) 列表推导式等的基本使用

1. 使用列表推导式构建列表,从alist中选出所有小于60和大于90的数,作为新列表中的元素。
alist = [93, 59, 87, 82, 82, 50, 98, 63, 70, 79, 92, 88, 81, 58, 90, 91]
data = [ i  for i in alist if i<60 or i >90]
print(data)
2.使用列表推导式构建列表,对于[1,0,2,5,8,3]中的所有偶数x,用x2作为新列表中的元素。
alist = [1,0,2,5,8,3]
data = [i**2 for i in alist if i%2==0]
print(data)
3.使用列表推导式构建列表,对于1~10(含)的每个数n,用2n作为列表元素。
alist = list(range(1,11))
data = [2**i for i in alist ]
print(data)
4.使用列表推导式构建列表,从0~20(含)中选出所有5的倍数,作为列表元素。
alist =list( range(21))
data = [i for i in alist if i%5==0]
print(data)
5.有以下学号和姓名的学生信息: 5001,小张;6208,小李;5012,小孙 建立字典,存储学生的学号和姓名信息。 当输入某个学号,可以自动输出该学号对应的姓名;如果输入的学号不存在,则输出“没有这个学号”。要求:使用循环方式连续执行3次。

注意: print(‘姓名:%s’%dicts.get(a)) 一定要注意输出格式,’%s’ %dicts.get(a) 与 直接输出dicts.get(a) 不一样,我这里报错了,我调试了好多次才发现。

#法一:循环查询
dicts = { '5001':'小张', '6208':'小李','5012':'小孙'}
list = []
for i in range(3):
  a=input()
  if dicts.get(a):
    print('姓名:%s'%dicts.get(a))
  else:
    print(dicts.get(a,'没有这个学号'))
#法二:一次性输入所有要查询的学号
dicts = {'5001':'小张','6208':'小李','5012':'小孙'}
list = []
for i in range(3):
	list.append(a)
for i in range(3): 
	if dicts.get(list[i]):
		print('姓名:',dicts.get(list[i]))
	else:	
        print(dicts.get(list[i],'没有这个学号'))
6. 利用循环语句,依次从键盘输入6个整数,并添加到列表nums中。然后,完成下列操作。

(1)使用列表推导式建立3个列表pos_list、neg_list、zero_list 分别保存正数、负数和零。
(2)统计正数、负数和零的个数,并依次输出统计结果。

lists = list()
for i in range(6):
  lists.append(int(input()))
pos_list = [i for i in lists if i > 0]
neg_list = [i for i in lists if i < 0]
zero_list= [i for i in lists if i==0]
print(len(pos_list))
print(len(neg_list))
print(len(zero_list))
7.有2个字符串s1和s2, 统计2个字符串中包含的单词总数。
'''数空格思想,取巧了。。。'''
s1 = 'never give up never lose hope'
s2 = 'I hope you are as happy with me as I am with you'
num = s1.count(' ')+s2.count(' ')+2
print('num=%d'% num   )
8. 将2个列表list1和list2合并为一个列表alist,并对alist降序排序。
list1 = [57, 71, 78, 73, 85, 90, 65, 87]
list2 = [78, 90, 68, 82, 71, 89, 93, 82]
list1.extend(list2)
alist = list1
print(sorted(alist,reverse=True))
9.两个元组记录了某地的一个礼拜的气温,一个元组存储最高气温ht = (30, 28, 29, 31, 33, 35, 32 ),一个元组存储最低气温ct = (20, 21, 19, 22, 23, 24, 20 ),输出最高气温,最低气温,以及每日的平均气温。
ht = (30, 28, 29, 31, 33, 35, 32 )
ct = (20, 21, 19, 22, 23, 24, 20 )
max_tem = max(max(ht),max(ct))
min_tem = min(min(ht),min(ct))
result = [(i + j) / 2 for i, j in zip(ht, ct)]
print(max_tem)
print(min_tem)
print(result)
10.字符串回文判断

这里关于倒序输出的,参考了这位博主的文章
a[-1:-len(a)-1:-1]

a = input()
b = a[-1:-len(a)-1:-1]
if a == b :
  print('Yes')
else:
  print('No')
  • 11
    点赞
  • 29
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值