列表,元组以及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. 使用nodegui 开发高性能的跨平台桌面端应用

    nodegui 是基于qt + nodejs 的跨平台桌面开发方案,官方同时也提供了很不错的文档 简单使用 使用官方的starter clone 代码 git clone https://github ...

  2. MySQL中自增ID起始值修改方法

    在实际测试工作过程中,有时因为生产环境已有历史数据原因,需要测试环境数据id从某个值开始递增,此时,我们需要修改数据库中自增ID起始值,下面以MySQL为例: 表名:users; 建表时添加: ); ...

  3. 【BigData】Java基础_冒泡排序

    1.实现需求 根据已经存在的数组,使用冒泡排序将数组中的元素排序后输出. 2.代码 package cn.test.logan.day02; /** * 冒泡排序在数组上的实现 * @author Q ...

  4. Android开发:文本控件详解——TextView(二)文字跑马灯效果实现

    一.需要使用的属性: 1.android:ellipsize 作用:若文字过长,控制该控件如何显示. 对于同样的文字“Android开发:文本控件详解——TextView(二)文字跑马灯效果实现”,不 ...

  5. js传对象处理

    JSON.stringify(carlist); 需要先将对象进行处理:如果服务端解析异常,可以先将这个值单独解析一次

  6. 五种IO模型

    参考文档 https://www.jianshu.com/p/486b0965c296 概念说明 用户空间和内核空间        现在操作系统都是采用虚拟存储器,那么对32位操作系统而言,它的寻址空 ...

  7. 集合类 collection接口 Set

    Collection接口的另外一种实现为Set集合,主要有两种实现方式一种为HashSet另一种为TreeSet,两种实现都依赖与对应的Map实现类. 代码如下: public HashSet() { ...

  8. [BUAA软工]Alpha阶段项目展示

    [冰多多]Alpha项目展示 冰多多项目: 语音coding 助手, alpha阶段目标: 语音辅助输入 一. 团队成员的简介和个人博客地址 成员 角色 个人博客地址 卓培锦 PM, 后端开发 htt ...

  9. ssh scp 上传下载文件

    scp username@servername:/path/filename  例如scp codinglog@192.168.0.101:/home/kimi/test.txt  把192.168. ...

  10. Tensorflows安装(cpu版安装方法)

    一.说明 首先声明,本人系统是Windows10 64位,Win7未试. 本文旨在帮助园友以更简单的方式安装Tensorflow,下面介绍的是如何安装Python的Tensorflow cpu版本. ...