一、概念:有序的可变的元素集合
二、定义
1.方式1:
[元素1, 元素2, ......]
例如:
name = ["张三", "李四", "王五", "赵六", ......]
name = ["张三", "李四", "王五", "赵六"] print(name)
列表的嵌套,列表之中还有列表
str = ["张三", "李四", ["王五", "赵六", ......]]
names = ["张三", "李四", ["王五", "赵六"]] print(names)
2.方式2:
2.1列表生成式:快速生成list
2.1.1语法:
python2版本
range(stop)->[0, 1, 2, 3, ....., stop -1]
lst = range(100) print(lst, type(lst))
python3版本
lst2 = list(range(100)) print(lst2, type(lst2))
range(start, stop[, step])->[start, start + step, start + 2 * step, ......, stop - 1]
step默认值是1.
注意:以上方式只适合在python2中使用。为了防止列表在生成之后没有被立即使用,在python3里面做了一些改变,不会立即生产列表
python2版本
lst1 = range(0, 100, 2) print(lst1, type(lst1))
python3版本
lst3 = list(range(0, 100, 2)) print(lst3, type(lst3))
2.2列表推导式:从一个list推导出另一个list
2.2.1概念
映射解析,一对一变更
过滤,从多到少
2.2.2语法
表达式 for 变量 in 列表
表达式 for 变量 in 列表 if 条件
2.2.3案例
nums = [1, 2, 3, 4, 5] # 将这个列表中的元素全部平方,组成一个新的列表 # 原始方式 resultlist = [] for num in nums: if num % 2 != 0: result = num ** 2 resultlist.append(result) print(resultlist)
nums1 = [1, 2, 3, 4, 5] # 列表推导式和牛逼的实现上面的功能需求 resultlist1 = [num1 ** 2 for num1 in nums1 if num1 % 2 != 0] print(resultlist1)
nums1 = [1, 2, 3, 4, 5] # 列表推导式和牛逼的实现上面的功能需求 resultlist1 = [num1 ** 2 for num1 in nums1 for num2 in nums1] print(resultlist1)
3.注意
和c语言中数组的区别。
区别在于,是否可以存放不同的数据类型
c语言-> int nums[] = {1, 2, 3, 4, 5}