day04

列表

列表——list

​ 有序,可变,支持索引

  • 列表:存储数据,支持的数据类型很多:字符串,数字,布尔值,列表,集合,元组,字典,用逗号分割的是一个元素
  • id() :获取对象的内存地址
lst = ['alex',123,True] # 用逗号分割的是一个元素
print(lst) # 结果是['alex',123,True]
print(lst[0])
print(id(lst[0]))
# id获取对象的内存地址 lst[0] = "dsb"
print(lst) # ['dsb', 123, True, '黑哥'] # s = "alex" # 字符串是不可变数据
# s = "wusir"
# s[0] = "b"
# print(s)
列表的增加
  • append():追加,在末尾的位置加一个
# lst.append("大煎饼")  #追加(在列表的最后位置添加一个内容)
# print(lst)
  • insert():插入,insert(像插入的位置下标,'内容')插入到位置前面

insert()以后尽量不要使用(当数据量比较大的时候会影响效率)

# lst.insert(2,"wusir")  #插入  以后尽量不要使用(当数据量比较大的时候会影响效率)
# print(lst)
  • extend(可迭代对象):扩展 ——迭代添加(数字和布尔值不能),把里面的内容一个一个的放在后面
# lst.extend("可迭代的内容")  # 迭代添加
# print(lst)
列表的删除
  • del (不是列表的专属方法) :可以配合索引删除,可以配合切片和步长删除,可以强制删除空间
# del lst[0]  # 通过索引删除
# print(lst) # del lst[0:3] # 通过切片删除
# print(lst) # del lst[0:3:2] # 通过步长删除
# print(lst)
  • remove():通过元素名字删除,删除左边第一个
# lst = ["dsb",123,"dsb",True,"黑哥"]
# lst.remove("dsb") # 移除 -- 通过元素名字进行删除
# print(lst)
  • pop():没有指定,默认删除最后一个

pop(0):可以指定索引删除

ret = lst.pop(0) :可以返回被删除的元素

# lst.pop()  # 弹 -- 默认删除最后一个
# print(lst) # lst = ["dsb",123,True,"黑哥"]
# lst.pop(2) # 通过指定索引进行删除
# print(lst)
  • clear():清空 结果是一个空列表 :[]
# lst.clear()  #清空
# print(lst)
列表的改
  • 通过索引修改
  • 可通过切片:被迭代进来的,可超出切片的数量,数字和布尔值不行,主要是索引取得留下谁 :123456(不能运行) 1,2,3,4,5,6(可运行) "123456"(可运行)
  • 可通过切片和步长:后面的内容数量必须与切片的数量相等
lst = ['杨紫','高圆圆','刘亦菲','关晓彤']
lst[0] = '杨幂' # 通过索引修改
print(lst) ***** lst[0:3] = '你好美11111111' # 被迭代进来的,数字和布尔值不行,主要是索引取得留下谁 :123456(不能运行) 1,2,3,4,5,6(可运行行) "123456"(可运行)
print(lst) # ['你','好','美',’1',....,'1','关晓彤'] lst[0:4:2] = '好嗨哦' # 运行错误
lst[0:4:2] = '好嗨' #后面的内容数量必须与切片的数量相等
print(lst) # ['好','杨紫','嗨','刘亦菲']
列表的查
  • 通过for循环
# for 循环
# lst = ["dsb",123,"dsb",True,"黑哥"]
# for i in lst:
# print(i)
增删改查的使用
lst = ['你', '好', '啦', '啊']
lst.append('牛')
print(lst)
lst.insert(1, '牛一')
print(lst)
lst.extend('你好')
print(lst) lst.pop(1)
print(lst)
lst.remove('牛')
print(lst)
lst1 = ['asd', 'dfg']
lst1.clear()
print(lst1) lst[4] = '朱'
print(lst)
lst[0:4] = '12'
print(lst)
lst[0::2] = '36'
print(lst) for i in lst:
print(i)
列表的嵌套

通过索引进行取值

不管什么类型进行切片的时候获取到的都是原数据类型

# a = lst[-1][-1][-2]
# print(a)
# 不管什么类型进行切片的时候获取都到都是源数据类型 # lst = [1,"alex","春生","小东北","渣弟",
# ["大黑哥",["常鑫",["自行车"],"大煎饼","掉井盖","三金"],
# "冯强","海峰",["太白金星","女神","吴超",["肖锋"]]]]
# print(lst[-1][1][1][0])

元组

元组——tuple

有序,不可变,支持索引

元组(tuple)其实就是一个不可以修改的列表

元组的查

for语句查

也可以用索引,可以用切片,也可以加步长,元组切片结果也是元组

元组不能进行修改,不可变

应用场景

元组用于存储一些比较重要的信息,元组在配置文件中会使用,存放一些用户密码的时候

常量也是在配置文件中使用

修改——一般不推荐

转成列表再进行修改

# tu = (1,"alex",True,"大黑哥",[1,2,3])
# lst = [1,"alex",True,"大黑哥",[1,2,3]]
# print(tu) # tu = (1,"alex",True,"大黑哥",[1,2,3])
# print(tu[0:6]) # for 循环
# for i in tu:
# print(i)

range

range——范围

print(list(range(0,10))) 顾头不顾尾

面试题

python3中range(0,10) 是一个可迭代的对象,写得是怎样的打印的时候就是怎样 :print(range(0,10)) # 结果是 range(0,10)

print(list(range(0,10)))# 结果是[0,1,2,3,4,5,6,7,8,9]

python2中 的 range 获取到一个列表

range(0,10) # 结果是[0,1,2,3,4,5,6,7,8,9]

xrange和python3中range是相似的,都是可迭代对象,返回结果是 range(0,10)

range 和切片一样:range 第一个是起始位置,第二个是终止位置,第三个是步长,步长默认为1,终止位置和切片一样都是顾头不顾尾,他们之间用逗号分开

print(list(range(1,10,3))) # 结果是 [1,4,7]
print(list(range(10,-2,-1))) # 结果是 [10,...,-1]
print(list(range(10))) # 结果是 [0,1,...,9]

作用:range #可以让for循环数字

for i in range(55):
print(i) # 结果是打印 1到54
for i in range(100, 0, -1):
print(i) # 使用for循环和range 打印 100 ~ 1
# for i in range(100,0,-1):
# print(i) # for i in range(1,101,2):
# print(i) # for i in range(0,101,2):
# print(i) # for i in range(0,101,6):
# print(i)

range 不能和while一起使用

# 错误示例:
# while range(0,10):
# print(1)
while和for的比较
# lst = []
# flage = True
# while flage:
# name = input("请输姓名:")
# lst.append(name)
# if len(lst) == 3:
# flage = False
# print(lst) # lst = []
# for i in range(3):
# lst.append(input("请输入姓名:"))
# print(lst)

day04——列表、元组、range的更多相关文章

  1. 巨蟒python全栈开发-第4天 列表&元组&range

    今日内容大纲 1. 什么是列表 定义: 能装对象的对象 在python中使用[]来描述列表, 内部元素用逗号隔开. 对数据类型没有要求 列表存在索引和切片. 和字符串是一样的. 2. 相关的增删改查操 ...

  2. day04 python列表 元组 range()

    day04 python   一.列表 1.什么是列表     列表是可变的数据类型: 和字符串不同, 做的操作直接改源数据     列表由[]来表示, 每项元素用逗号隔开.列表什么都能装,能装对象的 ...

  3. python笔记(1)--序列(列表 元组 range)

    一.序列分类 1.可变序列:list 2.不可变序列:tuple,range 二.序列公共操作方法 1.操作和返回值 其中s和t代表同类型序列:n,i,j,k为整数:x为任意类型. 序号 操作 结果 ...

  4. 列表 元组 range

    2019 年 7 月 9 日 列表---list------容器 列表:存储数据,支持多个数据类型,比如 :字符串 数字 布尔值 列表 集合 元组 ​ 特点 : 有序 可变 支持索引 (定义一个列表不 ...

  5. 列表,元组以及range

    列表,元组以及range 一.列表(list) 列表是数据类型之一,它有序,可变,支持索引 作用:存储数据,支持的数据类型很多:字符串,数字,布尔值,列表等 # 定义一个列表 lst = ['alex ...

  6. Python成长之路第二篇(2)_列表元组内置函数用法

    列表元组内置函数用法list 元组的用法和列表相似就不一一介绍了 1)def append(self, p_object):将值添加到列表的最后 # real signature unknown; r ...

  7. Python第三天 序列 数据类型 数值 字符串 列表 元组 字典

    Python第三天 序列  数据类型  数值  字符串  列表  元组  字典 数据类型数值字符串列表元组字典 序列序列:字符串.列表.元组序列的两个主要特点是索引操作符和切片操作符- 索引操作符让我 ...

  8. Python第三天 序列 5种数据类型 数值 字符串 列表 元组 字典 各种数据类型的的xx重写xx表达式

    Python第三天 序列  5种数据类型  数值  字符串  列表  元组  字典 各种数据类型的的xx重写xx表达式 目录 Pycharm使用技巧(转载) Python第一天  安装  shell ...

  9. Python摸爬滚打之day04----基本数据类型(列表,元组)

    1.列表 列表是可变的, 有序的数据类型,列表是按照添加顺序来保存的,可以存放各种数据类型. 1.1    列表的切片(同字符串) 1.2    列表的增删改查 注意: 列表是可以直接在列表上面进行操 ...

随机推荐

  1. ent 基本使用十五 一个图遍历的例子

    以下是来自官方的一个user group pet 的查询demo 参考关系图 环境准备 docker-compose mysql 环境 version: "3" services: ...

  2. 使用docker部署微服务

    https://my.oschina.net/silenceyawen/blog/1819472 http://jvm123.com/2019/08/docker-shi-yong.html 从201 ...

  3. 洛谷 P2040 打开所有的灯 题解

    这个题写其他题解的dalao们已经解释了 一个灯最多开一次(如果实在不知道为什么看评论区) 这个题一共就9个灯嘛,对吧 递归好想不好写(对于我这种蒟蒻) 所以我写了一个所有题解中最暴力的 直接枚举9个 ...

  4. nginx 访问控制之 document_uri

    这就用到了变量$document_uri,根据前面所学内容,该变量等价于$uri,其实也等价于location匹配. 示例1: if ($document_uri ~ "/admin/&qu ...

  5. linux高性能服务器编程 (六) --高级I/O函数

    第六章 高级I/O函数 Linux提供了很多高级的I/O函数,它不是基础的I/O函数(open/read) 1.创建文件描述符的函数比如:pipe.dup/dup2函数 2.读写数据的函数比如:rea ...

  6. win10中通过Anaconda安装tensorflow时报错Traceback (most recent call last): File “E:\Anaconda3\lib\site-packages\pip_vendor\urllib3\response.py”, line 360, in _error_catcher yield

    问题:通过默认镜像安装,下载过程中可能会报错,下载安装失败 Traceback (most recent call last): File “E:\Anaconda3\lib\site-package ...

  7. Ubuntu 16.04 一系列软件安装命令,包括QQ、搜狗、Chrome、vlc、网易云音乐安装方法

    1 简介 Ubuntu 16.04安装完后,还需要做一些配置才能愉快的使用,包括添加软件源.安装搜狗输入法.Chrome浏览器.网易云音乐.配置快捷键.安装git等等,下面就跟着我来配置吧,just ...

  8. 从编程哲学到开发应用:Spring的初步应用

    一.前言 在学习Spring的过程中,我们学习了很多东西,可是实际应用中,我们究竟用到了那些?常用的又是那种方法呢? 二.书上与开发的差异 1.IOC 1) IOC,控制反转,是Spring框架的核心 ...

  9. Seq2Seq模型 与 Attention 策略

    Seq2Seq模型 传统的机器翻译的方法往往是基于单词与短语的统计,以及复杂的语法结构来完成的.基于序列的方式,可以看成两步,分别是 Encoder 与 Decoder,Encoder 阶段就是将输入 ...

  10. SpringBoot(3)自定义Filter

    SpringBoot自动添加了OrderedCharacterEncodingFilter和HiddenHttpMethodFilter,当然我们可以自定 义Filter. 自定义Filter需要两个 ...