主要内容:

  • 1.列表  list
  • 2.元祖  tuple
  • 3. range

1.  列表 list

1.1 列表概述

  • 列表是python的基础数据类型之一 , 它是以[  ] 括起来, 每个元素用' , '隔开而且可以存放各种数据类型:
  • 列表相比于字符串.,不仅可以存放不同的数据类型. 而且可以存放大量的数据.
  • 32位 python可以存放:  536870912个元素, 64位可以存放:  1152921504606846975个元素.

1.2 列表的索引和切片

  • 索引

    lst = ["上海滩","西游记","家有儿女","奥特曼","包青天","少年包青天"]
    print(lst[3])       #奥特曼
    print(lst[-4])      #家有儿女
    print(lst[-1][1:3])    #年包 

  • 切片
    lst = ["上海滩","西游记","家有儿女","奥特曼","包青天","少年包青天"]
    print(lst[1:3]) # 切片出来的是列表.#['西游记', '家有儿女']
    print(lst[1:5:2])  #['西游记', '奥特曼']
    print(lst[-1:-4:-2])   #['少年包青天', '奥特曼']

注意切最后一个元素加:才会形成list,else相当于提取元素

1.3 列表的增删改查

(1)新增:

  • append()

    lst = []
    lst.append("周杰伦") # 追加 在最后添加, 效率比较高
    lst.append("周芷若")
    lst.append("周公瑾")
    print(lst)         #['周杰伦', '周芷若', '周公瑾']

  • insert()
    lst = ["刘德华", "渣渣辉", "古天乐", "陈小春"]
    lst.insert(2,"马德华")  # 插入, 可能会导致元素移动
    print(lst)   #['刘德华', '渣渣辉', '马德华', '古天乐', '陈小春']

  • extend()迭代增加
    lst = ["刘昊然", "张一山", "徐峥", "黄渤"]
    lst.extend(["刘能", "赵四", "广坤"])
    print(lst)  #['刘昊然', '张一山', '徐峥', '黄渤', '刘能', '赵四', '广坤']

  • ! 一定要注意append和extend的用法区别:
     #对于append()若添加一个字符串就是讲字符串整体添加到list里,#而extend()实现此功能需要加[],若没有[],会将字符串的的每一个元素添加到list里

(2)删除 : 

  • remove()

    lst = ["刘能", "广坤", "皮长山", "大脚"]
    lst.remove("广坤")
    lst.remove("大脚")
    print(lst)     #['刘能', '皮长山']

  • pop()
    lst = ["刘能", "广坤", "皮长山", "大脚"]
    lst.pop(2)            # 可以指定元素删除(索引)
    print(lst)     #['刘能', '广坤', '大脚']
    s1 = lst.pop()        # 默认弹出最后一个
    print(s1)        #大脚
    s2 = lst.pop()
    print(s2)        #广坤
    print(lst)     #  ['刘能']

  • clear()
    lst = ["语文", "数学", "地理", "历史", "英语", "化学"]
    lst.clear() # 清空
    print(lst)     #[]

  • del
    lst = ["语文", "数学", "地理", "历史", "英语", "化学"]
    # 可以切片删除
    del lst[2]     #['语文', '数学', '历史', '英语', '化学']
    del lst[0]     #['数学', '地理', '历史', '英语', '化学']
    del lst[::2]   #['数学', '历史', '化学']
    print(lst)  

  • 注意pop()与del在格式上的区别   lis.pop()   del lis[]  虽然空白位置都是索引,但括号不同

(3)修改

  • 索引和切片的使用

    lst = ["功夫", "大话西游", "少林寺", "无间道", "战狼", "战狼2"]
    lst[2] = "西西里的美丽传说"
    lst[-3] = "新世界"
    lst[1:3] = ["一步之遥"]
    lst[1:5:2] = ["胡辣汤", "烩面"] # 注意如果步长不是1. 那么元素的个数要匹配
    print(lst)

(4)查找

  • 使用for循环

    # 列表是一个可迭代对象. 可以使用for循环
    for el in lst:print(el)

注: 列表根据条件进行删除

  • 直接的思维 (错误)

    lst=["渣渣辉","古天绿","周星驰","吴孟达","陈小春"]
    lst.clear()
    for el in lst: # for 内部有一个变量来记录当前被循环的位置, 索引.lst.remove(el) # 直接删除. 是删不干净的. 原因是每次删除都设计到元素的移动. 索引在变.

  • 正确的方式
    # 先把要删除的内容保存在一个新列表中. 循环这个新列表. 删除老列表
    lst=["渣渣辉","古天绿","周星驰","吴孟达","陈小春"]
    new_lst = []
    for el in lst:new_lst.append(el)
    for el in new_lst:lst.remove(el)
    print(lst)

  • 示例
    lst = ["张无忌", "张三丰", "张翠山", "张嘉译", '刘嘉玲', "刘能", '刘老根']
    # 删除姓张的人
    new_lst = []
    for el in lst:if el.startswith("张"):new_lst.append(el)
    for el in new_lst:lst.remove(el)
    print(lst)

1.4 列表的相关操作

  • count()

    lst = ["马化腾", "马云", "刘强东", "周鸿祎", "李彦宏", "马云", "马云"]
    print(lst.count("马云"))     #3

    注意count是对list的操作,会得到新的结果

  • sort()
    lst = [1, 8, 12, 1, 4, 6, 3]
    lst.sort()    # 排序. 默认升序
    print(lst)     #[1, 1, 3, 4, 6, 8, 12]

    lst = [1, 8, 12, 1, 4, 6, 3]
    lst.sort(reverse=True)  # 倒叙排序
    print(lst)      #[12, 8, 6, 4, 3, 1, 1] 

  • reverse()

    lst = [1, 8, 12, 1, 4, 6, 3]
    lst.reverse()  # 翻转
    print(lst)       #[3, 6, 4, 1, 12, 8, 1]

  • len()

    lst = [1, 8, 12, 1, 4, 6, 3]
    print(len(lst))  # 求长度, 和字符串一样   #7

1.5  列表的嵌套

lst = ["周润发", "周星驰", "周笔畅", "周公瑾", ["九品芝麻官", ["吴孟达", "alex", "林雪"],"算死草", "赌侠", "赌圣", "整蛊专家"]]
lst[4][1][1] = lst[4][1][1].capitalize()
print(lst)

2. 元组

2.1 元组的基本概念

  • 元组就是不可变的列表, 元组使用()表示, 元素与元素之间使用逗号隔开, 数据类型没有限制, 只读列表   第一层不可变

    huang = ("努尔哈赤", "皇太极", "顺治", "康熙", "雍正", "乾隆", "嘉庆")
    # huang[1] = "朱元璋" # 报错 'tuple' object does not support item assignment
    print(huang)

    注:元组的不可变的意思是子元素不可变. 而子元素内部的子元素是可 以变, 这取决于子元素是否是可变对象

  • 另外:

    # 小括号在计算机里还表示算数优先级
    # print((8+3)*7)
    tu = (1,) # 加了逗号, 就是元组了
    tu = ("哈哈","呵呵","嘿嘿",)
    print(type(tu))
    lst = list()  # []
    tu = tuple()  # 空元组

2.2 元祖的索引和切片:  

  • 索引

    # 元组也有索引和切片 和列表一样和字符串也一样
    tu = ("iphone", "nokia", "砸核桃", "Lenovo", "HTC", "Honor")
    print(tu[-1])   # Honor
    print(tu[1:3])  #('nokia', '砸核桃')
    print(tu[1:5:2])  #('nokia', 'Lenovo')

  • 切片
    # 不可变指的是第一层元素不可变, 第二层取决于你的数据类型
    tu = (1, 2, 5, ["胡辣汤", "滋滋冒油的大猪蹄子", "酱猪肘", "香喷喷的米饭", "脆皮炸鸡"])
    tu[3].append("锅包肉")
    print(tu)

2.3 遍历

tu = ("孙悟空", "白骨精", "哪吒", "二师兄", "妲己")
for el in tu:  # element 元素print(el)

5. range:

  • range(边界) 从0到边界

    # range()
    for i in range(10):  # 0-9   没有10(切记)print(i)

  • range(start, end) 从start到end ,不能到end
    for i in range(3, 8): # 从3-8 没有8print(i)

  • range(start, end, step) 从start到end. 步长是step
    for i in range(5, 10, 2): # 从5 到 10 步长是2print(i)

另外:

 lst = ["张无忌", "张三丰", "张翠山", "张一山", "张磊", "张伟", "张角"]
# # for el in lst: # 这样循环. 没有索引
# #     print(el)
#
for i in range(len(lst)):  # 有索引了print(lst[i])

转载于:https://www.cnblogs.com/wcx666/p/9598151.html

list tuple相关推荐

  1. python元组元素的提取比_Python 元组数据类型(tuple)详解 [访问元组元素][修改元组元素][删除元组][学习 Python 必备基础知识][看此一篇就够了]...

    您的"关注"和"点赞",是信任,是认可,是支持,是动力...... 如意见相佐,可留言. 本人必将竭尽全力试图做到准确和全面,终其一生进行修改补充更新. 1 元 ...

  2. C++11中std::tuple的使用

    std::tuple是类似pair的模板.每个pair的成员类型都不相同,但每个pair都恰好有两个成员.不同std::tuple类型的成员类型也不相同,但一个std::tuple可以有任意数量的成员 ...

  3. c# 元组Tuple

    Tuple类型像一个口袋,在出门前可以把所需的任何东西一股脑地放在里面.您可以将钥匙.驾驶证.便笺簿和钢笔放在口袋里,您的口袋是存放各种东西的收集箱.C# 4.0引入的一个新特性 Tuple类型与口袋 ...

  4. Python基础06-数据类型:元组tuple

    目录 元组 元组的一般用法 元组的方法 元组 元组的一般用法 元组用()括起来,用逗号分隔元素,元素类型是任意的.因为函数.方法的调用也是用()括起来,为了避免混淆,写元组的时候,在最后一个元素后面多 ...

  5. 【廖雪峰Python学习笔记】list tuple dict set

    列表 元组 字典 集合 创建 l = [1, 'a', [1, 3], True] t = (1, ) d = {'key' : 'value'} s = set([1, 2, 4, 2, 1]) 索 ...

  6. std::tuple类型

    1. 元组简介 std::tuple是类似std::pair的模板.每个pair的成员类型都不相同,但每个pair都恰好有两个成员.不同std::tuple类型的成员类型也不相同,但一个std::tu ...

  7. python公共操作(运算符(+、*、in、not in)、公共方法(len()、del、max()、min()、range()、enumerate())、类型转换(tuple、list、set))

    1. 运算符 1.1 + # 1. 字符串 str1 = 'aa' str2 = 'bb' str3 = str1 + str2 print(str3) # aabb # 2. 列表 list1 = ...

  8. python转换数据类型(int、float、str、eval、tuple、list、chr、ord、bin、oct、hex)

    1. 转换数据类型的函数 2. 转换数据类型的作⽤ 问:input()接收⽤户输⼊的数据都是字符串类型,如果⽤户输⼊1,想得到整型该如何操作? 答:转换数据类型即可,即将字符串类型转换成整型. 示例需 ...

  9. Python报错TypeError: Tuple or struct_time argument required

    错误原因,类型出错误啦,转换不了! 我的解决: >>> time.mktime(time.localtime()) 1545053905.0 具体就看下面的! 我的报错: >& ...

  10. python中的tuple_python 数据类型 - tuple

    tuple 元组 今天跟大家分享一下Python里面tuple数据类型的学习 ps:list数据类型,之前是写在了jianshu上,暂时我也还没有搬过来,所以贴上链接吧 概念 tuple,即元组.是P ...

最新文章

  1. [Swift]LeetCode496. 下一个更大元素 I | Next Greater Element I
  2. ROS系统 用Python或C++实现发布者Publisher
  3. 【DIY】光剑(一):炽焰长剑的诞生
  4. python接口自动化测试书籍_skPython接口自动化测试 自动化测试教程书籍 用Python实现UI自动化测试 轻松入门Python语法 MySQL数据库 Python基础教程书籍...
  5. 非线性常微分方程组 matlab,matlab常微分方程和常微分方程组求解.doc
  6. 实验9 SQL Server 的触发器
  7. Petuum - Careers
  8. 互斥锁mutex的使用方法
  9. IDEA——常用快捷键
  10. [码海拾贝 之Perl]获取日期以及日期的加减
  11. 【C++入门】C++ string类
  12. 百度地图 android SDKv2.2.0
  13. phpnow搭建本地网站服务器,phpnow搭建本地网站服务器
  14. 一文了解 Serverless 究竟是什么
  15. MarkDown在线编辑器(支持公众号知乎)
  16. python getcwd_python – 执行os.getcwd()时出错?
  17. 在html中加动画效果,教你如何在网页上用H5实现动画效果
  18. 四年程序员的常用工具清单
  19. 用户留存sql完整版
  20. 程序员北漂没钱整租,如何爱上合租?

热门文章

  1. Python源码解析-整数与引用计数器
  2. 【考研—密码学】单钥密码体制
  3. linux下sos使用教程,SOS SOS SOS SOS SOS SOS
  4. 【教程】网络安全工具FileAudit中配置你的第一个Audit路径
  5. 如何还原 Active Directory 中已删除的对象
  6. android申请内录功能吗,如何使Android录音实现内录功能
  7. RxSwift之UI控件UIButton与UIBarButtonItem扩展的使用
  8. Ubuntu 14.04 跑通 lsd slam 全过程
  9. 8255A红绿灯c语言程序,51单片机外接8255A做成的交通灯程序及PROTEUS仿真结果(附对应C语言程序).doc...
  10. android glide图片灰色,glide 显示 加载不出来 图片 - CSDN博客