列表,元组以及range
列表,元组以及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的更多相关文章
- 列表 & 元组& join & range
一:列表(增删改查,列表的嵌套,列表的循环) 1)增加 append (在列表的尾部增加) insert (插入) insert(插入的位置,插入的内容) extend ...
- 巨蟒python全栈开发-第4天 列表&元组&range
今日内容大纲 1. 什么是列表 定义: 能装对象的对象 在python中使用[]来描述列表, 内部元素用逗号隔开. 对数据类型没有要求 列表存在索引和切片. 和字符串是一样的. 2. 相关的增删改查操 ...
- 列表 元组 range
2019 年 7 月 9 日 列表---list------容器 列表:存储数据,支持多个数据类型,比如 :字符串 数字 布尔值 列表 集合 元组 特点 : 有序 可变 支持索引 (定义一个列表不 ...
- python基础知识二 列表、元组、range
3.6.2 列表 1.列表 -- list 有序,可变,支持索引,用于存储数据(字符串,数字,bool,列表,字典,集合,元组,). list1 = [] list1 = ['alex',12,T ...
- day04——列表、元组、range
day04 列表 列表--list 有序,可变,支持索引 列表:存储数据,支持的数据类型很多:字符串,数字,布尔值,列表,集合,元组,字典,用逗号分割的是一个元素 id() :获取对象的内存地址 ...
- 列表、元组和range
小知识点 s = " 5 " print(int(s)) print(s.replace(" ","")) 结果: 5 5 id()#获取对 ...
- Python成长之路第二篇(2)_列表元组内置函数用法
列表元组内置函数用法list 元组的用法和列表相似就不一一介绍了 1)def append(self, p_object):将值添加到列表的最后 # real signature unknown; r ...
- Python第三天 序列 数据类型 数值 字符串 列表 元组 字典
Python第三天 序列 数据类型 数值 字符串 列表 元组 字典 数据类型数值字符串列表元组字典 序列序列:字符串.列表.元组序列的两个主要特点是索引操作符和切片操作符- 索引操作符让我 ...
- Python第三天 序列 5种数据类型 数值 字符串 列表 元组 字典 各种数据类型的的xx重写xx表达式
Python第三天 序列 5种数据类型 数值 字符串 列表 元组 字典 各种数据类型的的xx重写xx表达式 目录 Pycharm使用技巧(转载) Python第一天 安装 shell ...
随机推荐
- Numpy | 03 数据类型
numpy 支持的数据类型比 Python 内置的类型要多很多,基本上可以和 C 语言的数据类型对应上,其中部分类型对应为 Python 内置的类型. 下表列举了常用 NumPy 基本类型: 名称 描 ...
- ffmpeg结合SDL编写播放器(二)
我们将对帧数据做一些处理,比如将每一帧的 图像转为jpg或者bmp或者ppm等格式保存下来. 举例:在ffmpeg-2.8.8文件夹下编写test.c程序 /* test.c */ #include& ...
- DNN的BP算法Python简单实现
BP算法是神经网络的基础,也是最重要的部分.由于误差反向传播的过程中,可能会出现梯度消失或者爆炸,所以需要调整损失函数.在LSTM中,通过sigmoid来实现三个门来解决记忆问题,用tensorflo ...
- uni-app 实现分享生成图片
<template> <view> <view class="personal_li" @click="shareClick"&g ...
- 声源定位之3精读《The Generalized Correlation Method for Estimation of Time Delay》
2.2.1 标题(2019年9月5日) 估计时间差的广义互相关方法 互相关可以表示两个信号的相似程度. 计算:两个信号循环移位相乘再相加,得到的一组互相关值. 相关函数: 何为广义?通用的框架,可以设 ...
- 配置Zuul代理下游的认证
配置Zuul代理下游的认证 您可以通过proxy.auth.*设置控制@EnableZuulProxy下游的授权行为.例: application.yml proxy: auth: routes: c ...
- spring mvc中添加对Thymeleaf的支持
一.下载Thymeleaf 官方下载地址:https://dl.bintray.com/thymeleaf/downloads/thymeleaf/ 我下载的是最新的3.0.11版本 把包里的jar包 ...
- avformat_open_input阻塞操作中断的支持
avformat_open_input默认是阻塞操作,如果不加控制,等待时间可能会达到30s以上,对于有些情况,等待30s的体验是无法接受的. ffmpeg支持interrupt_callback机制 ...
- android 桌面图标添加数字角标
是否支持角标并不与手机厂商有关,而是你当前使用的launcher开发厂商有关. 方法实现: import android.app.Application; import android.app.Not ...
- Selenium+Java完整框架搭建(2019完整版)
一.WebDriver框架开发实战 1.框架的思想 (1)什么是框架? 框架是可以被应用开发者定制的应用骨架 (2)为什么要写框架? 提高脚本可维护性 提高编写脚本的速度 提高脚本可阅读性 (3)框架 ...