列表,元组以及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. 分布式系统CAP定理与BASE理论

    CAP定理: 一个分布式系统不可能同时满足一致性(C:Consistency).可用性(A:Availability)和分区容错性(P:Partition tolerance)这三个基本要求,最多只能 ...

  2. [技术博客]采用Qthread实现多线程连接等待

    采用Qthread实现多线程连接等待 ​ 本组的安卓自动化测试软件中,在测试开始前需要进行连接设备的操作,如下图左侧的按钮 ​ ​ 后端MonkeyRunner相关操作的程序中提供了connect() ...

  3. 用Python实现一个简单的——人脸相似度对比

    近几年来,兴起了一股人工智能热潮,让人们见到了AI的能力和强大,比如图像识别,语音识别,机器翻译,无人驾驶等等.总体来说,AI的门槛还是比较高,不仅要学会使用框架实现,更重要的是,需要有一定的数学基础 ...

  4. 【转】MySQL的安装与配置——详细教程-window系统下

    https://www.cnblogs.com/winton-nfs/p/11524007.html 免安装版的Mysql MySQL关是一种关系数据库管理系统,所使用的 SQL 语言是用于访问数据库 ...

  5. dashi 成长 > 领导 > 平台 > 钱 人品 态度 能力 价值

    https://promotion.aliyun.com/ntms/yunparter/invite.html?userCode=thy3557s https://www.aliyun.com/min ...

  6. C# Area区域配置,修改默认路由

    1.右键项目新建文件夹 Areas 2.先把项目分类包好,建两个文件夹,放Controller和View,Model也可以放在这里 因为项目启动默认打开的是Home/Index ,我把它放在了Webs ...

  7. C++ std::map 屏蔽排序

    转载:https://blog.csdn.net/sendinn/article/details/96286849 最近在项目中用标准库中的关联性容器map,但知道map默认升序的,但在一个需求时又不 ...

  8. Java基础 awt Graphics2D 生成矩形图片并向其中画一条直线

        JDK :OpenJDK-11      OS :CentOS 7.6.1810      IDE :Eclipse 2019‑03 typesetting :Markdown   code ...

  9. JAVA中使用LDAP登录的三种方式

    搜索中关于java 登录ldap,大部分会采用  cn=xxx,ou=xxx,dc=xxx的方式,此处的cn是用户的Display Name,而不是account,而且如果ou有多层,比如我们的OU就 ...

  10. List containsKey 和Map contains 判断集合中是否包含某个值

    map集合 //1.第一种 HashMap map = new HashMap(); map.put("1", "value1"); map.put(" ...