python小知识点

python小知识点重回顾

1.r’\string…’

r是raw的意思,保持字符串的原样,以免被转义字符影响。

2. 列表

检查列表中是否包含某个元素是非常缓慢的,因为python在列表中线性逐个扫描;在字典和集和中,python是同时检查所有元素。
两个列表的合并:

  1. 直接用 + 号连接
  2. list1.extend(list2),更好更快。

3.切片

:[start:end]: 包含start,不包含end
:[start: end:step]: 每隔一段取一个值:
:sep = [1,2,3,4,5]
: sep[::-1]倒叙输出
[5,4,3,2,1]

4.内建函数

enumerate():

便于追踪元素索引。

dic = {}
for i, value in enumerate(list):
    # 返回i索引,和value值。便于追踪元素索引。
    dic[i] = value

sorted():

排序

a = sorted([1,2,5,3])
print(a)
[1, 2, 3, 5]

zip():

zip函数的返回对象类型是一个zip类型,通常转换为list
将列表、元组或其他序列的元素配对,新建一个新的 元组组成的列表。
组合按最短的序列决定。

zip(*zipped)
利用 * 号操作符,可以将元组解压为列表。*zipped参数,可以list数组,也可以是zip()函数返回的对象(https://blog.csdn.net/qq_44034384/article/details/107302183 )。

a = ['Y','L']
b = ['Lu','fan']
c = ['1', '2', '3']
zip(a,b)
# >>> list(zip(a,b))
# [('Y', 'Lu'), ('L', 'fan')]
zip(a,b,c)
# >>> list(zip(a,b,c))
# [('Y', 'Lu', '1'), ('L', 'fan', '2')]
first_name, last_name = zip(a,b)
# >>> first_name, last_name = zip(*zip(a,b))
# >>> list(zip(*zip(a,b)))
# [('Y', 'L'), ('Lu', 'fan')]
# >>> print(first_name)
# ('Y', 'L')
# >>> print(last_name)
# ('Lu', 'fan')

reversed()

倒叙排列

嵌套列表推导式

for tup in some_tuples:
    for x in tup:
        flat.append[x]

# 转换成嵌套列表推导式:
flat = [x for tup in some_tuples for x in tup]

匿名函数 lambda:

def my_function(x):
    return x * 2

# 定义成匿名函数
equiv_anon = lambda x: x * 2

生成器表达式

gen = (x ** 2 for x in range(100))
>>> list(gen)
[0, 1, 4, 9, 16, 25, 36, 49, 64, 81, 100, 121, 144, 169, 196, 225, 256, 289, 324, 361, 400, 441, 484, 529, 576, 625, 676, 729, 784, 841, 900, 961, 1024, 1089, 1156, 1225, 1296, 1369, 1444, 1521, 1600, 1681, 1764, 1849, 1936, 2025, 2116, 2209, 2304, 2401, 2500, 2601, 2704, 2809, 2916, 3025, 3136, 3249, 3364, 3481, 3600, 3721, 3844, 3969, 4096, 4225, 4356, 4489, 4624, 4761, 4900, 5041, 5184, 5329, 5476, 5625, 5776, 5929, 6084, 6241, 6400, 6561, 6724, 6889, 7056, 7225, 7396, 7569, 7744, 7921, 8100, 8281, 8464, 8649, 8836, 9025, 9216, 9409, 9604, 9801]

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值