python 04 列表
1.列表——list [ ]
有序、可变、支持索引查看。
存储数据,支持大多数数据类型:字符串,数字,布尔值、列表、集合、元组、字典等。
1.1 定义: lst(勿用list)
lst = ["aaa",123,True,"你好"] # 元素之间用逗号分隔
print(lst[0]) # aaa
print(id(lst[0])) #id获取对象的内存地址
1.2 列表的增删改查
1.2.1 增:
lst = ["aaa",123,True,"你好"]
lst.append(True) # 追加 (在列表的最后位置添加一个元素)
lst.insert(2,"今天") # 插入 在位置2前加入"今天" 以后尽量不要使用(当数据量比较大的时候会影响效率)
lst.extend("可迭代的内容") # 迭代添加在列表末尾,数字布尔值不可
1.2.2 删:
lst = ["aaa",123,True,"你好"]
lst.pop() #弹 -- 默认删除最后一个,返回被删除的元素
lst.pop(3) # 通过指定索引进行删除
lst.remove(123) # 移除 -- 通过元素名字进行删除
lst.clear() #清空,只剩一个空列表
del lst #删除整个列表
del lst[2] # 通过索引删除
del lst[0:3] # 通过切片删除
del lst[0:3:2] # 通过步长删除
1.2.3 改:
lst = ["aaa",123,True,"你好"]
lst[0] = 1 #索引修改,将"aaa"变为 1
lst[2] = "美好"
lst[1:3] = "123" #切片后迭代 ['aaa', '1', '2', '3', '你好']
lst[1:3] = 1,2,3 #加逗号可修改 ['aaa', 1, 2, 3, '你好']
lst[1:3] = True #错误,数字/布尔值不可迭代
lst[:4:2] = 1,2 # [1, 123, 2, '你好']
lst[:4:2] = "12" # 步长不为1的必须一一对应填,多一个也不行,少一个也不行。
1.2.4 查:
# for循环
lst = ["aaa",123,True,"你好"]
for i in lst:
print(i) # 输出 i
1.3 列表嵌套:
通过索引进行一层一层的查找取值。按逗号进行索引元素。
lst = ["aaa",123,["世界",True,["你好"]]]
print(lst[-1][-1][0]) # 你好
不管什么类型进行切片的时候获取的都是原数据类型。
2. 元组——tuple ( )
2.1 定义
tu = (1,"aaa",True,"你好",[1,2,3])
2.2 特征
1. 有序,不可变,支持索引查看,不能增、删、改。
2. 元组用于存储一些比较重要的信息元组,在配置文件中会使用。
3. 元组就是不可变的列表。
4. 元组嵌套同列表。
2.3 查
# for循环
tu = ("aaa",123,True,"你好")
for i in tu:
print(i) # 输出 i
3. range——范围 和for配合使用
range(起始位置,终止位置)
print(range(0,10)) # 顾头不顾尾
# python3 中的range是一个可迭代对象 写得是怎样的打印的时候就是怎样,结果为 range(0,10)
# python2 中的range返回的是一个列表 结果为 [0,1,2,3,4,5,6,7,8,9]
# python2中xrange和python3中的range是相似的
range(起始位置,终止位置,步长)
print(list(range(10,-2,-1))) #步长不写得时候默认为1 [10:-2:-1] 反向
print(list(range(10))) #步长不写得时候默认为1 [:10]
# 例题:
#1.使用for循环和range 打印 100 ~ 1
for i in range(100,0,-1):
print(i)
#2.使用for循环和range 打印 1~100内的奇数
for i in range(1,101,2):
print(i)
#3.使用for循环和range 打印 1~100内被6整除的数
for i in range(0,101,6):
print(i)
#4. 输入三次名字,打印成列表
#第一种方法: while
lst = []
flage = True
while flage:
name = input("请输姓名:")
lst.append(name) # 追加
if len(lst) == 3:
flage = False
print(lst)
#第二种方法:range与for配合使用
lst = []
for i in range(3):
lst.append(input("请输入姓名:"))
print(lst)
python 04 列表的更多相关文章
- python --- 04 列表 元组
一 .列表 在python中使用[]来描述列表, 内部元素用逗号隔开. 对数据类型没有要求 1.列表存在索引和切片. 和字符串是一样的. 2.增删改查操作 1).增加 1. .append(" ...
- Python 实现列表与二叉树相互转换并打印二叉树封装类-详细注释+完美对齐
# Python 实现列表与二叉树相互转换并打印二叉树封装类-详细注释+完美对齐 from binarytree import build import random # https://www.cn ...
- Python 实现列表与二叉树相互转换并打印二叉树16-详细注释+完美对齐-OK
# Python 实现列表与二叉树相互转换并打印二叉树16-详细注释+完美对齐-OK from binarytree import build import random # https://www. ...
- Python list列表的排序
当我们从数据库中获取一写数据后,一般对于列表的排序是经常会遇到的问题,今天总结一下python对于列表list排序的常用方法: 第一种:内建函数sort() 这个应该是我们使用最多的也是最简单的排序函 ...
- python中列表和元组以及字符串的操作
python中列表是非常好用的.不过有一些使用小细节还需要注意一下. tag[32:-4] 从index为32到tag的倒数第4个字符. 如果索引为32的值在倒数第4个字符的右边,那么将输出为空.只要 ...
- python基础——列表生成式
python基础——列表生成式 列表生成式即List Comprehensions,是Python内置的非常简单却强大的可以用来创建list的生成式. 举个例子,要生成list [1, 2, 3, 4 ...
- Python的列表排序
Python的列表排序 本文为转载,源地址为:http://blog.csdn.net/horin153/article/details/7076321 在 Python 中, 当需要对一个 list ...
- python中列表 元组 字典 集合的区别
列表 元组 字典 集合的区别是python面试中最常见的一个问题.这个问题虽然很基础,但确实能反映出面试者的基础水平. (1)列表 什么是列表呢?我觉得列表就是我们日常生活中经常见到的清单.比如,统计 ...
- python对列表的联想
python的列表与字典,已经接触无数次了.但是很多用法都记不住,个人觉得归根原因都是只是学了知识点而少用,也少思考.在此试图用宫殿记忆法对它们的用法做个简单的梳理. 首先,说说列表的删除,删除有三种 ...
随机推荐
- Catalan公式
f(n)=f(1)*f(n-1)+f(2)*f(n-2)+f(3)*f(n-3)+......+f(n-1)*f(1) 例用:一个长度为n的无重复序列入栈的所有出栈方式
- sql注入------基于时间延迟benchmark函数注入脚本
#author:windy_2import requests urlx = 'http://127.0.0.1/?id= 1 and if((substr((select database()),' ...
- lambda匿名函数,sorted(),filter(),map(),递归函数
1.lambda匿名函数 为了解决一些简单的需求而设计的一句话函数 #计算n的n次方 def func(n): return n**n print(func(10)) f = lambda n: n* ...
- MVC设计模式与Java Web经典三层架构
MVC设计模式 MVC的概念 首先我们需要知道MVC模式并不是javaweb项目中独有的,MVC是一种软件工程中的一种软件架构模式,把软件系统分为三个基本部分:模型(Model).视图(View)和控 ...
- bitset的简单用法
1.头文件 #include<bitset> 2.基本操作 bitset<n> b; b有n位,每位都为0. 参数n可以为一个表达式.如bitset<5> b, 则 ...
- IO流总结1
一.什么是流? 流就是字节序列的抽象概念,能被连续读取数据的数据源和能被连续写入数据的接收端就是流,流机制是Java及C++中的一个重要机制,通过流我们可以自由地控制文件.内存.IO设备等数据的流向. ...
- JQuery第一章js 上机+课后
=============上机1 包含字母 <!DOCTYPE html> <html> <head> <title>sj1.html& ...
- 一文掌握 Spring Boot Profiles
Spring Boot Profiles 简介 Profile 的概念其实很早在 Spring Framework 就有了,在 Spring Framework 3.1 版本引入了注解 @Profil ...
- angular6组件通信
此文章是用markdown书写,赋值全部到vscode打开即可. # Angular组件通信 ## .父组件传递数据到子组件 - `@Input`:属性绑定,父组件向子组件传递数据 ```js // ...
- hdu 6397 Character Encoding (生成函数)
Problem Description In computer science, a character is a letter, a digit, a punctuation mark or som ...