练习31(内置函数2)

练习31

# 1.4.2和数据结构相关(24)
#
#   列表和元祖(2)
#
#     list:将一个可迭代对象转化成列表(如果是字典,默认将key作为列表的元素)。
#
#     tuple:将一个可迭代对象转化成元祖(如果是字典,默认将key作为元祖的元素)

# 		 reversed:将一个序列翻转,并返回此翻转序列的迭代器。  *****
#

# l1 = [1,3,4,2,6]
# s1 = 'abcdefg'
# dic = {'name':'alex','age':1000,'hobby':'oldwomen'} # 不行
# print(reversed(l1))
# for i in reversed(l1):
#     print(i)
# for i in reversed(s1):
#     print(i)
# for i in reversed(dic):
#     print(i)

#     slice:构造一个切片对象,用于列表的切片。  ***
# l1 = [i for i in range(10)]
# l2 = l1[:5:2]
# l3 = [i for i in range(10,20)]
# sli_obj = slice(0,5,2)
# print(l3[sli_obj])
# l4 = ['a', 'b', 'c', 'd', 'e']
# print(l4[sli_obj])
# str:将数据转化成字符串。
#
# format:与具体数据相关,用于计算各种小数,精算等。 **
# print(format('test', '<20'))
# print(format('test', '>20'))
# print(format('test', '^20'))

# bytes:unicode ---> bytes 类型  ****
# a1 = '太白'
# # print(a1.encode('utf-8'))
# print(a1.encode('utf-8').decode())

# bytes:unicode ---> bytes 类型
# a1 = '太白'
# b1 = bytes(a1,encoding='utf-8')
# print(b1)

# a1 = -100
# b1 = -100
# print(id(a1))
# print(id(b1))

#  bytearry:返回一个新字节数组。这个数组里的元素是可变的,并且每个元素的值范围: 0 <= x < 256。
    # [97,110,103,115]
# ret = bytearray('alex',encoding='utf-8')
# print(id(ret))
# print(ret)  # bytearray(b'alex')
# print(ret[0])  # 97
# ret[0] = 65
# print(ret)  # bytearray(b'Alex')
# print(id(ret))

# memoryview
# ret = memoryview(bytes('你好',encoding='utf-8'))
# print(len(ret))  # 6
# print(ret)  # <memory at 0x000001D3D6FCD048>  # [\xe4,\xbd,\xa0,\xe5,\xa5,\xbd]
# print(bytes(ret[:3]).decode('utf-8'))  # 你
# print(bytes(ret[3:]).decode('utf-8'))  # 好

# ord:输入字符找该字符编码 unicode  的位置  **
# print(ord('a'))
# print(ord('中'))
# chr:输入位置数字找出其对应的字符 unicode **
# print(chr(97))
# print(chr(20013))
# ascii:是ascii码中的返回该值,不是则返回他在unicode的位置(16进制。) **
# print(ascii('a'))
# print(ascii('中'))  # '\u4e2d'

# repr:返回一个对象的string形式(原形毕露)。  *****
# print('alex')
# print(repr("ale,x"))
# print(repr("{'alex':'sb'}"))
# repr()  json pickle序列化模块 特殊字符串,python字符串的区别
# 格式化输出 %r
# msg = 'alex 是 %r的人' % ('德高望重')
# print(msg)

#  sorted:对所有可迭代的对象进行排序操作。 *****

# l1 = [2,3,5,3,1,9,8,6]
# l1.sort()
# print(l1)
# print(sorted(l1)) # 形成了一个新列表
# print(l1) # 原列表不变
#
# l2 = [(1,1000),(2,18),(4,250),(3,500)]
# print(sorted(l2))

# def func1(x):
#     return x[1]
# print(sorted(l2,key=func1,reverse=True))
# enumerate:枚举,返回一个枚举对象。

# all:可迭代对象中,全都是True才是True  ***  多做条件判断
# l1 = [1,'',[1,3],(2,4)]
# print(all(l1))
# any:可迭代对象中,有一个True 就是True ***  多做条件判断
# print(any([1,0,'',()]))
#
#  zip:函数用于将可迭代的对象作为参数,将对象中对应的元素打包成一个个元组,然后返回由这些元组组成的列表。 *****
# 如果各个迭代器的元素个数不一致,则返回列表长度与最短的对象相同。
# 拉链方法  将多个iter 纵向组成一个个元组。
# l1 = [1,2,3,5,6,7]
# tu1 = ('alex','太白', 'wusir', '女神')
# dic = {'name': '日天', 'age':28, 'hobby': 'tea', 'weight':100}
# # print(zip(l1,tu1,dic))
# for i in zip(l1,tu1,dic):
#     print(i)

#  filter:过滤· 迭代器。 *****
# l1 = [i for i in range(10)]
# def func1(x):
#     return x % 2 == 0
# print(list(filter(func1,l1)))

# map:会根据提供的函数对指定序列做映射。 循环模式
# l1 = [1,2,3,4]
# # print([i**2 for i in l1])
# def func(x): return x**2
# print(list(map(func,l1)))

# print() sum reversed
# key : min max map sorted filter zip




# 匿名函数  lambda表达式,
# 普通函数 有且只有返回值的函数才可以用匿名函数进行简化,一行函数。
# func2 = lambda x: x*2

# def func2(x):
#     return x**2

# func2 = lambda x : x**2
# print(func2(6))

# func2 = lambda x,y: x+y
# print(func2(1,2))
# 匿名函数 不单独使用,多与内置函数结合。

# l2 = [(1,1000),(2,18),(4,250),(3,500)]
# print(sorted(l2,key=lambda x:x[1]))

# dic={'k1':10,'k2':100,'k3':30}
#1,利用内置函数匿名函数将dic按照值进行排序。
# print(sorted(dic,key=lambda x:dic[x]))
# print(sorted(dic.items(),key=lambda x:x[1]))
# [1,5,7,4,8]
# 利用内置函数匿名函数 计算列表的每个数的2倍。
# print(list(map(lambda x:x*2,[1,5,7,4,8])))
# [5,8,11,9,15]
# 利用内置函数匿名函数,将值大于10的留下来。
# print(list(filter(lambda x: x>10,[5,8,11,9,15])))

# func = lambda x:x if x > 2 else x * 2
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值