06、元组的定义和常用操作

2019-11-30  本文已影响0人  hnssyg

a = (1,3,5,7)

b =4

#filter(lambda x: x < 4, a)  # 取出a中小于4的元素

print(list(filter(lambda x: x < b, a)))

b =6

print(list(filter(lambda x: x < b, a)))# 取出a中小于6的元素

print(len(list(filter(lambda x: x < b, a))))# 取出a中小于6的元素的个数


# 输入日期,输出对应生肖

zodiac_name = (u'摩羯座',u'水瓶座',u'双鱼座',u'白羊座',u'金牛座',u'双子座',

u'巨蟹座',u'狮子座',u'处女座',u'天秤座',u'天蝎座',u'射手座')

zodiac_days = ((1,20), (2,19), (3,21), (4,21), (5,21), (6,22),

(7,23), (8,23), (9,23), (10,23), (11,23), (12,23))

(month, day) = (2,15)

zodiac_day =filter(lambda x: x<=(month, day), zodiac_days)

#print(list(zodiac_day))

# [(1,20)]

zodiac_len =len(list(zodiac_day)) %12

print(zodiac_name[zodiac_len])

# 取模12的原因:当输入的元组范围大于12月23日,取得的元组长度为12,python元组下标是0~11,而不是1~12,因此使用12求模的方式,避免下标越界


import time

num = [1,2,3,4,5,6]

a =iter(num)# 把列表转换成迭代器

print(type(num))

print(type(a))

print(list(a))# 一次返回所有内容

print(list(a))# 空了

# filter()函数返回类型是迭代器,使用list函数可以一次性将filter函数返回的内容数据全部取出来,第二次再取数据自然会为空

b =filter(lambda x: x <=5, num)

print(b.__next__())# 取第一个

print(b.__next__())# 取第二个

print(list(b))# 全取出来

time.sleep(1)# 停1s便于观察

b.__next__()# 返回一个StopIteration异常,告诉用户已经没有可以取的数据了


拓展阅读:字符编码笔记:ASCII,Unicode和UTF-8

上一篇下一篇

猜你喜欢

热点阅读