一.列表

1.创建列表

注:列表是可变类型

① 直接赋值

例:food_list = ['康师傅方便面', '酸奶', '雪糕', '康师傅方便面', 18, 8.88, [1, 2, 3]]

② 创建空列表

例1:list1 = []
例2:list2 = list()

2.数据类型转换

例:string_value = 'python'list_word = list(string_value)print(list_word)输出:['p', 'y', 't', 'h', 'o', 'n']

3.列表遍历

例:food_list1 = ['康师傅方便面', '酸奶', '雪糕', '康师傅方便面']food_list2 = ['啤酒', '饮料', '矿泉水']food_list3 = ['花生', '瓜子', '火腿肠']food_list = [food_list1, food_list2, food_list3]for i, value in enumerate(food_list):     # enumerate()函数获取列表下标print(f'第{i + 1}个元素的值是{value}')for j, name in enumerate(value):print(f'第{j + 1}个元素的值是{name}')输出:第1个元素的值是['康师傅方便面', '酸奶', '雪糕', '康师傅方便面']
第1个元素的值是康师傅方便面
第2个元素的值是酸奶
第3个元素的值是雪糕
第4个元素的值是康师傅方便面
第2个元素的值是['啤酒', '饮料', '矿泉水']
第1个元素的值是啤酒
第2个元素的值是饮料
第3个元素的值是矿泉水
第3个元素的值是['花生', '瓜子', '火腿肠']
第1个元素的值是花生
第2个元素的值是瓜子
第3个元素的值是火腿肠

4. list comprehensions(列表推导式)

① 最简形式

语法:

[expression for item in list]        等价于for item in list:expression
例1:list_val = []for i in range(1, 6):list_val.append(i ** 2)print(list_val)输出:[1, 4, 9, 16, 25]new_list = [i ** 2for i in range(1, 6)]print(new_list)输出:[1, 4, 9, 16, 25]
例2:word_list = ['I', 'love', 'python']print([i.upper() for i in word_list])输出:['I', 'LOVE', 'PYTHON']

② 过滤条件形式

注:if条件写在for循环后面,if-else写在for循环前面

语法:

[expression for item in list if contitianal]     等价于for item in list:if conditionalexpression
例1:list_val = []for i in range(21):if i % 2 == 0:list_val.append(i)print(list_val)输出:[0, 2, 4, 6, 8, 10, 12, 14, 16, 18, 20]new_list = [i for i in range(21) if i % 2 == 0]print(new_list)输出:[0, 2, 4, 6, 8, 10, 12, 14, 16, 18, 20]
例2:names = ['Lixiaohong', 'Lucy', 'Kenzo']list_val = []for i in names:if len(i) < 8:list_val.append(i.lower())else:list_val.append(i.upper())print(list_val)输出:['LIXIAOHONG', 'lucy', 'kenzo']new_list = [i.lower() if len(i) < 8 else i.upper() for i in names]print(new_list)输出:['LIXIAOHONG', 'lucy', 'kenzo']

③ 循环嵌套形式

语法:

[expression for i in  list1 for j in list2]      等价于for item in list1:if j in list2:expression
例:list_val = []for i in '高富帅':for j in '白富美':list_val.append(i + j)print(list_val)输出:['高白', '高富', '高美', '富白', '富富', '富美', '帅白', '帅富', '帅美']new_list = [i + j for i in '高富帅' for j in '白富美']print(new_list)输出:['高白', '高富', '高美', '富白', '富富', '富美', '帅白', '帅富', '帅美']

二.元组

1. 创建元组

注1:元组是不可变类型

注2:只有一个元素时,需在最后加一个逗号

① 直接赋值

例:tuple_val = (1, 'hello', [1, 2, 3], (1, 2, 3))tuple_1 = (1,)

② 创建空列表

例1:tuple1 = ()
例2:tuple2 = tuple()

2. 元组遍历

例:tuple_val = (1, 'hello', [1, 2, 3], (1, 2, 3))for i in tuple_val:print(i)输出:1
hello
[1, 2, 3]
(1, 2, 3)

3. 内建函数

① count查询

例:tuple_val = (1, 'hello', [1, 2, 3], (1, 2, 3))print(tuple_val.count(1))输出:1

② index查询

返回匹配第一个元素的索引值

例:tuple_val = (1, 'hello', [1, 2, 3], (1, 2, 3))print(tuple_val.index([1, 2, 3]))输出:2

③ 通用:in,not in

4. 元组拆包

例1:info = ('Kenzo','man','20')name, gender, age = ('Kenzo','man','20')print(name)print(gender)print(age)输出:Kenzo
man
20
例2:info = ('Kenzo', 'man', '20')_, _, age = ('Kenzo', 'man', '20')     # 占位符方式print(age)输出:20
例3:a, b, *rest, c, d = range(10)print(a)print(b)print(c)print(d)print(rest)输出:0
1
8
9
[2, 3, 4, 5, 6, 7]
例4:num1 = 10num2 = 5num1, num2 = num2, num1print(num1)print(num2)输出:5
10

三.列表 vs 元组

1. 存储空间对比,元组占用空间小于列表

list1 = list()print(list1.__sizeof__())tuple1 = tuple()print(tuple1.__sizeof__())输出:20
12

2. 运行效率对比, 元组快于列表

from timeit import timeitprint(timeit('list1 = [1,2,3,4,5]', number=100000000))print(timeit('tuple1 = (1,2,3,4,5)', number=100000000))输出:5.0030306
1.2714490000000005

数据类型之列表与元组相关推荐

  1. python中列表的元素是什么数据类型_python基本数据类型之列表和元组(一)

    python基本数据类型之列表与元组(一) python中list与tuple都是可以遍历类型.不同的是,list是可以修改的,而元组属于不可变类型,不能修改. 列表和元组中的元素可以是任意类型,并且 ...

  2. 列表逆序排序_Python零基础入门学习05:容器数据类型:列表和元组

    注:本文所有代码均经过Python 3.7实际运行检验,保证其严谨性. Python的数据收纳盒 数据收纳盒 收纳数据对象的数据类型,以一种规则的下标索引方式访问到每个数据,是一种序列(sequenc ...

  3. python中的可变数据类型有列表和元组_Python中列表的 += 和 .extend() 的异同

    一道Python题 最近有朋友"考"了我一个Python的题:使用+=和.extend()两种方法扩展元组中的列表会发生什么.虽然我对Python中的可变数据类型.不可变数据类型的 ...

  4. Python基础知识总结—数据类型,列表,元组,集合,字典

    目录 数据类型 列表 元组 集合 字典 数据类型 列表 列表(动态数组) 定义空列表[ ] list()可以将其他序列转为列表 如:str类型 列表和字符串一样接收索引与切片 list[索引:切片:步 ...

  5. Python数据类型、列表、元组、字典、集合增删改查(切片)

    Python基础(数据类型) 有问题可以➕QQ:1606269318来交流沟通. 以下全是干货,对刚学Python是挺有帮助的. 1.Numbers(数字): 1)整数(int) 通常被称为是整型或整 ...

  6. Python数据类型(列表和元组)

    1.3 List(列表) 列表由一系列按特定顺序排列的元素组成. 在Python中,用方括号[ ]来表示列表,并用逗号来分隔其中的元素. 1.3.1 访问列表元素 在Python中,第一个列表元素的索 ...

  7. python如何生成列表和元组数据_Python数据类型(列表和元组)

    1.3 List(列表) 列表由一系列按特定顺序排列的元素组成. 在Python中,用方括号[ ]来表示列表,并用逗号来分隔其中的元素. 1.3.1 访问列表元素 在Python中,第一个列表元素的索 ...

  8. Python之组合数据类型(列表、元组、集合、字典)

    第1关:列表及操作 #coding = utf-8 #********* Begin *********# #第一步 请在列表fruit中找出不属于水果一类元素,赋值给变量 a fruit = [&q ...

  9. 3.Python-复杂数据类型之列表、元组

    概述 这一篇简述列表.元组和字典,为什么没有类? 因为还没学到... 列表是什么 列表就是数组,对的,list,明显是翻译的锅.暂时从简单的开始,还没学到numpy.array,我猜那是后者更方便使用 ...

最新文章

  1. 女性养生需知的16条健康戒律
  2. Java中的门面设计模式,非常有用!
  3. iOS自定义转场动画实战讲解
  4. 删除计算机插优盘记录,如何彻底清除U盘在PC里的使用记录呢
  5. Entity Framework 实体框架的形成之旅--基于泛型的仓储模式的实体框架(1)
  6. ZK的实际应用:MVVM –表单绑定
  7. Linux内核空间内存申请函数kmalloc、kzalloc、vmalloc的区别
  8. Image Style Transfer:多风格 TensorFlow 实现
  9. eclipse快捷键备忘
  10. FastDFS单机搭建以及java客户端Demo
  11. 旋转数组的最小数字(牛客网C++代码)
  12. 写论文时introduction and realted works部分如何写别人的工作,论文写作常用词
  13. java 链接kafka单机版_kafka单机环境搭建及其基本使用
  14. 程序员从月薪6k到15k,你知道这3个月我是怎么过来的吗?
  15. Cisco防火墙基础介绍及配置
  16. MSP430CPU介绍
  17. 重启打印机(打印机任务无法取消时)
  18. 笔记本电脑没有Pause键,远程桌面无法全屏
  19. JAVA程序设计:在圆内随机生成点(LeetCode:478)
  20. Java实现局域网聊天软件分享

热门文章

  1. 竞品分析----夸克:我离百度还有多少步?
  2. 重磅!大基金、华为、小米共同投资这家芯片公司!
  3. 微信开发获取昵称乱码 emoji表情
  4. 微信支付-本地测试方法-java代码
  5. UNIX SIGTERM等信号意义
  6. 【金融项目】尚融宝项目(四)
  7. 文化袁探索专栏——线程池执行原理|线程复用|线程回收
  8. 虹科云课堂 | 干货不断!汽车专题直播月本周课程预告
  9. ES6读书笔记(下)
  10. 计算机专业各种书籍整理