列表,元组以及range

一.列表(list)

列表是数据类型之一,它有序,可变,支持索引

作用:存储数据,支持的数据类型很多:字符串,数字,布尔值,列表等

# 定义一个列表
lst = ['alex',123,True,'列表'] 用逗号分隔的是一个元素 #print(id(lst[0])) -- 获取元素的内存地址

1.增

lst = ['alex',123,'wusir',456]

# 追加 : 在列表的最后一个位置添加一个内容
lst.append('000')
print(lst) #['alex',123,'wusir',456,'000'] # 插入 :尽量不要使用(当数据量比较大的时候会影响效率)
lst.insert(1,'000')
print(lst) #['alex','000',123,'wusir',456] #迭代添加 ("可迭代对象")
lst.extend('000')
print(lst) #['alex',123,'wusir','0','0','0']

2.删

lst = ['alex',123,'wusir',456]

# 弹   默认删除最后一个;有返回值,返回的是被删除的元素;可通过指定索引进        行删除
lst.pop(2)
print(lst) #['alex',123,456] # 移除 通过元素名字进行删除
lst.remove('wusir')
print(lst) #['alex',123,456] # del
del lst[2] -- 通过索引删除
print(lst) #['alex',123,456]
del lst[0:3] -- 通过切片删除
print(lst) #[456]
del lst[0:3:2] -- 通过步长删除
print(lst) #[123,456] #清空 --清空列表
lst.clear()
print(lst) #[]

3.改

lst = ['alex',123,'wusir',456]

# 通过索引修改
lst[2] = "太白"
print(lst) #['alex',123,'太白',456] # 通过切片修改(迭代,新的元素可以超出切片的位数)
lst[0:3] = "太白金星"
print(lst) #['太','白','金','星',456] # 通过步长修改(迭代,新的元素和位置必须一一对应)
lst[0:3:2] = "太白"
print(lst) #['太',123,'白',456]

4.查

lst = ['alex',123,'wusir',456]

使用for循环进行查找
for i in lst:
print(i) #alex
123
wusir
456
通过索引查找
print(lst[1]) #123

5.列表的嵌套

# 通过索引取值

lst = [1,'太白','wusir',['麻花疼',['可口可乐'],'王健林']]

找到wusir
print(lst[2]) 找到太白和wusir
print(lst[1:3]) 找到可口可乐
print(lst[-1][-2][0]) 找到太白的白字
print(lst[1][-1])

二.元组(tuple)

元组是有序的,不可变,支持索引,是一个不可变的列表

作用:用于存储一些比较重要的信息,在配置文件时会使用.

s = ('abc',123,'alex',456)

元组不能增删改,可以查(使用for循环)

三.range(范围)

print(list(range(0,10)))  #[0,1,2,3,4,5,6,7,8,9]
# 顾头不顾尾
range(起始位置,终止位置)
range(终止位置)
range(起始位置,终止位置,步长) for和range配合使用
例:打印100~1
for i in range(100,0,-1):
print(i) 打印1~100所有偶数
for i in range(0,101,2):
print(i) 让用户输入三次姓名然后用列表打印出来
# while循环
lst = []
a = True
while a:
name = input("请输入姓名:")
lst.append(name)
if len(lst) == 3:
a = False
print(lst) #for循环
lst=[]
for i in range(3):
lst.append(input('请输入姓名:'))
print(lst)

python2和python3的区别

  • python2的range是返回一个列表(xrange和python3中的range是相似的)
  • python3的range是一个可迭代对象,写的是怎样打印的时候就是怎样

ps:

面试题:

lst = []
for i in lst:
lst.append('alex")
print(lst) #不会打印内容(lst是空的) lst = [1,2]
for i in lst:
lst.append('alex')
print(lst) #循环打印lst中的内容(死循环) lst = [1,2]
for i in lst:
lst.append('alex')
print(lst) #死循环(不会打印内容) lst = []
for i in range(5):
lst.append([])
print(lst) #[[],[],[],[],[]] lst = [1,2]
lst[0] = lst
print(lst) #[[...],2]

列表,元组以及range的更多相关文章

  1. 列表 & 元组& join & range

    一:列表(增删改查,列表的嵌套,列表的循环) 1)增加 append    (在列表的尾部增加) insert       (插入)   insert(插入的位置,插入的内容) extend      ...

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

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

  3. 列表 元组 range

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

  4. python基础知识二 列表、元组、range

    3.6.2 列表 1.列表 -- list ​ 有序,可变,支持索引,用于存储数据(字符串,数字,bool,列表,字典,集合,元组,). list1 = [] list1 = ['alex',12,T ...

  5. day04——列表、元组、range

    day04 列表 列表--list ​ 有序,可变,支持索引 列表:存储数据,支持的数据类型很多:字符串,数字,布尔值,列表,集合,元组,字典,用逗号分割的是一个元素 id() :获取对象的内存地址 ...

  6. 列表、元组和range

    小知识点 s = " 5 " print(int(s)) print(s.replace(" ","")) 结果: 5 5 id()#获取对 ...

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

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

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

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

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

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

随机推荐

  1. 异常STATUS_FATAL_USER_CALLBACK_EXCEPTION(0xc000041d)

    简介 STATUS_FATAL_USER_CALLBACK_EXCEPTION,值为0xc000041d.代表的意思是"回调期间遇到未处理的异常".它定义在 ntstatus.h头 ...

  2. 7.学习springmvc的异常处理

    一.页面的异常处理流程 二.建立项目springmvc04_exception 1.编写index.jsp页面: <%@ page contentType="text/html;cha ...

  3. 再见Spring Boot 1.x

    记得很早很早之前有过一次面试,面试前端说自己喜欢JavaScript,然后面试官问,你知道当前JavaScript最新标准和规范吗?我无言以对,因为平时没有关注认真对待这些信息,然后就没有然后了. 或 ...

  4. uni-app 事件以及事件绑定

    事件修饰符stop的使用会阻止冒泡,但是同时绑定了一个非冒泡的事件,会导致该元素上的catchEventName失效! prevent可以直接干掉,因为uni-app里没有什么默认事件,比如submi ...

  5. Linux环境下安装Redis

    记录一下Linux环境下安装Redis,按顺序执行即可,这里下载的是Redis5,大家可根据自己的需求,修改版本号就好了,亲测可行. 1.下载Redis安装包cd /usr/local/wget ht ...

  6. tomcat找不到java_home

    Tomcat Neither the JAVA_HOME nor the JRE_HOME environment variable is defined 一眼就能看出来是jdk的环境有问题,但是用了 ...

  7. java核心技术卷上学习笔记

    9月5日 学习章节:第二章 Java程序设计环境 学习包括Java的安装.命令行工具.IDE.图形化开发环境等. 9月6日 学习章节:第三章 Java的基本程序设计结构 学习包括注释.数据类型.变量. ...

  8. 冰多多团队alpha阶段发布说明

    标题:冰多多Alpha阶段发布说明 Alpha版本功能介绍 我们项目当前是两个部分,前端编辑器和后端mtermux是分开的,是两个独立的app项目,还没有完美的连起来(我们alpha阶段目标任务是不必 ...

  9. ASP.NET Core 的 Dependency Injection

    ASP.NET Core使用了大量的DI(Dependency Injection)设计,有用过Autofac或类似的DI Framework对此应该不陌生.本篇将介绍ASP.NET Core的依赖注 ...

  10. python 文字转语音

    # coding=utf-8 import pyttsx3 text='I love you 韩长菊' voice=pyttsx3.init() voice.say(text) voice.runAn ...