【星海出品】python的简单小技术

一 列表推导式

nums = [1,2,3,4,5,6,7,8,9]
jishu = [ _ for _ in nums if _ % 2 ]

遍历列表中的每个元素。

二 filter函数
是Python内置的一个函数
它接受一个函数和一个可迭代对象作为参数

匿名函数
lambda,实现简单。最左的x为return, 也为接收,冒号后的为执行的操作。
右侧的nums为外界传入的数据。
最后会返回一个函数和一个可迭代对象

nums = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
jishu = list(filter(lambda x: x % 2, nums))
print(jishu)

注:filter会返回一个迭代器,如果转list不保存到变量中,则下次将是空列表。

  • 实际中列表推导式比filter要快

一行代码实现1~100的数字的和

sum(list(range(1,101)))

python自带的sum输入对象是可迭代的。可以是列表,数组,可迭代对象。此时sum最多有两个参数第一个参数是可迭代的。当有两个参数时,第二个参数只能是个数。

在Python中,可迭代的数据类型包括列表、元组、字典和集合等,它们可以通过迭代器进行遍历,从而方便地对其中的元素进行操作和处理。

  1. ​ 集合(set)是一个无序的不重复元素序列;使用大括号 { } 或者 set() 函数创建集合
    :集合是没有顺序的,因此无法进行排序。但是可以将集合转换成列表,然后再进行排序。
  2. ​ 字典是另一种可变容器模型,且可存储任意类型对象,字典的每个键值 key=>value 对用冒号 : 分割,每个对之间用逗号(,)分割,整个字典包括在花括号 {}
  3. ​ 元组是与列表类似的有序集合;元组创建很简单,只需要在括号中添加元素,并使用逗号隔开即可

不可变类型深入分析,小技巧
当定义多个相同的整数时,这些整数对象的 id 可能会相同,这是因为这些整数指向的是同一内存位置上的同一个缓存对象。这种优化可以提高程序的效率,避免重复创建对象的开销。

你可能感兴趣的:(python,开发语言)