一、什么是列表

列表是一系列数据的集合

二、列表的引用

首先定义一个列表

 names=["alex","bob","alice","jim"]

列表引用:

name[0]
name[1]
print(name[3])

三、列表操作

1.查询列表元素

①利用下标输出列表元素

print(names[0])       #输出列表第一个元素
print(names[0:5]) #输出列表前五个元素(顾头不顾尾)
print(names[-1]) #输出列表最后一个元素
print(names[-4:-1])#输出列表倒数第四个至倒数第二个元素的值(顾头不顾尾)
print(names[-3:0])#输出列表最后三个元素
print(nemas[::3]) #从第一个元素开始,每三个元素输出一个(隔两个元素输出一个元素)

②查找元素所在位置:index方法

print(names.index("alex")) #查找元素“alex”的下标,输出为0

③统计相同元素的个数:count方法

print(names.count("alex")) #输出“alex”元素的个数

2.增添列表元素

有两种方法,一是append()方法,插入列表末尾;二是insert()方法,可以插入特定的位置

names.append("luxun")     #将元素插入列表的末尾
names.insert(2,"mayun") #将元素插入列表下角标为2的位置

3.修改列表元素

names[1]="lihua" #将第二个元素修改

4.删除列表元素

有三种方法

①用“del”,此关键字不是列表特有的,可以用来删除变量、列表、字典等。

del names[4]  #删除下标为4的元素

②pop()方法,根据下标删除元素

names.pop(5) #删除下标为5的元素,如果括号空着,默认删除最后一个元素

③remove()方法,根据元素内容删除

names.remove("alex")  #删除此元素

5.合并列表

extend()方法

list1=[1,2,3]
list2=[4,5,6]
list1.extand(list2) #将list2列表合并到list1上

此方法只会改变list1,list2并不改变

6.列表嵌套

names=["zhao","qian","sun",["zhang","liu","ma"],"li"]
#取出“liu”
print(names[3][1])

增删改查同上

7.列表的复制

这里详细介绍三种

①copy()方法:浅copy

先看形式

names=["zhao","qian","sun",["zhang","liu","ma"],"li"]
names2=names.copy() #将names复制一份给了names2
print(names2,names)

输出完全一样,没问题

继续操作:

names[1]="QIAN"
names[3][2]="MA"
print(names,names2)

看清楚了,所有的操作是对names的,names2的元素会保持不变吗?来看结果

发现了什么?names肯定是按照我们的操作变化了,names2呢?既没有保持不变,也没有完全跟names保持同步

而是:外层的列表元素不受影响,内层列表元素跟着改变。这就是浅copy

②copy.deepcopy()方法,引入copy模块:深copy

import copy
names=["zhao","qian","sun",["zhang","liu","ma"],"li"]
names2=copy.deepcopy(names) #将names深copy一份给了names2
print(names2,names)

同样的操作

names[1]="QIAN"
names[3][2]="MA"
print("names:",names)
print("names2:",names2)

结果奉上:

深copy出来的names2是完全独立于names的,相互之间不受干扰。

③类似于赋值操作的复制

names2=names    #直接将其赋值给names2

进行上述操作后,结果如下

无论对谁进行操作,两者的内容保持同步和一致

8.列表排序

①列表反转:severse()方法

names.severse()  #将列表反转
print(names)

②列表排序:sort()方法

naems.sort()   #将列表排序
print(names)

排序规则:按照每个字符串首位,特殊符号>数字>大写字母>小写字母,前提是数据类型是字符型。

注意:不同的数据类型无法排序!

9.列表循环

推荐用for循环

for i names:
print(i)

10.清空列表、删除列表

清空列表用clear()方法

names.clear()

删除列表用 del

del names

10.获取列表长度

①names._len_()方法

②len(names)函数

都是获取列表中元素的个数

四、元组

元组就是只读列表

定义一个元组:

names=(1,2,3,4,5)

只能对它进行查询访问,不能增、删、改。当然,可以删除整个元组,即

del names

初学Python—列表和元组的更多相关文章

  1. Python列表、元组、字典和字符串的常用函数

    Python列表.元组.字典和字符串的常用函数 一.列表方法 1.ls.extend(object) 向列表ls中插入object中的每个元素,object可以是字符串,元组和列表(字符串“abc”中 ...

  2. python列表与元组的用法

    python列表与元组的用法 目录: 列表的用法: 1.增   append   +    extend 2.删  del    remove 3.改   insert 4.查  index 5.反向 ...

  3. (转)python 列表与元组的操作简介

    python 列表与元组的操作简介 原文:https://www.cnblogs.com/QG-whz/p/4782809.html 阅读目录 列表 list函数 列表的基本操作 列表方法 元组 tu ...

  4. Python列表和元组

    Python是没有数组的概念,但是和数组比较相近的概念是列表和元素. 下面两个例子展示列表和元组. # coding=utf-8 # 元组 students = ('小明', '小黄', '小李', ...

  5. 认识Python 列表和元组

    列表用方括号   l=[['xyz',123], 'abc', 3140000000.0, (23+1.3j), 'ddd'] 元组用圆括号   t=(['xyz', 123],'abc', 3140 ...

  6. #9 Python列表和元组

    前言 Python中有6种序列:列表.元组.字符串.Unicode字符串.buffer对象和xrange对象.序列通用操作包括:索引.切片.长度.加.乘.最大值.最小值,遍历和检查成员.虽然Pytho ...

  7. Python: 列表,元组,字典的区别

    Python中有3种内建的数据结构:列表,元组和字典 1.列表 list是处理一组有序项目的数据结构,即可以在一个列表中存储一个序列的项目.列表中项目应该包括在方括号中,这样python就知道是在指明 ...

  8. [python01] python列表,元组对比Erlang的区别总结

    数据结构是通过某种方式组织在一起的数据元素的集合,这些数据元素可以是数字,字符,甚至可以是其他的数据结构. python最基本的数据结构是sequence(序列):6种内建的序列:列表,元组,字符串, ...

  9. python 列表,元组,字符串方法和属性

    python序列包含列表[].元组().字符串三种 -------列表-------------- 一.列表基本内容 1.建立:a=[1,2,3,5],通过[ , ,], >>>b= ...

随机推荐

  1. Vue2+VueRouter2+webpack 构建项目实战(三):配置路由,运行页面

    制作.vue模板文件 通过前面的两篇博文的学习,我们已经建立好了一个项目.问题是,我们还没有开始制作页面.下面,我们要来做页面了. 我们还是利用 http://cnodejs.org/api 这里公开 ...

  2. node+pm2+express+mysql+sequelize来搭建网站和写接口

    前面的话:在这里已经提到了安装node的方法,node是自带npm的.我在技术中会用es6去编写,然后下面会分别介绍node.pm2.express.mysql.sequelize.有少部分是摘抄大佬 ...

  3. 添加/删除/修改Windows 7右键的“打开方式”

    右键菜单添加/删除"打开方式" 此"打开方式"非系统的"打开方式",二者可以并存. 右键菜单添加"打开方式" 在HKEY ...

  4. Java:JavaBean和BeanUtils

    本文内容: 什么是JavaBean JavaBean的使用 BeanUitls 利用DBUtils从数据库中自动加载数据到javabean对象中 首发日期:2018-07-21 什么是JavaBean ...

  5. python的datetime模块处理时间

    python的datetime模块主要用来处理时间,里面包含很多类,包括timedelay,date,time,datetime等 开发中经常会用到模块里面的datetime类,这是一个表示日期时间的 ...

  6. python 常见函数的用法

    filter(function,ls) 函数包括两个参数,分别是function和list.该函数根据function参数返回的结果是否为真来过滤list参数中的项,最后返回一个新列表. 如: map ...

  7. SQL SERVER 查询表的各字段长度

    SELECT a.name,b.name,c.DATA_TYPE,b.max_length FROM sys.tables a join sys.columns b on b.object_id = ...

  8. Linux内核线程kernel thread详解--Linux进程的管理与调度(十)

    内核线程 为什么需要内核线程 Linux内核可以看作一个服务进程(管理软硬件资源,响应用户进程的种种合理以及不合理的请求). 内核需要多个执行流并行,为了防止可能的阻塞,支持多线程是必要的. 内核线程 ...

  9. JavaSE: SuppressWarnings[转]

    在java编译过程中会出现很多警告,有很多是安全的,但是每次编译有很多警告影响我们对error的过滤和修改,我们可以在代码中加上 @SuppressWarnings(“XXXX”) 来解决 例如:@S ...

  10. LeetCode算法题-Ugly Number(Java实现-四种解法)

    这是悦乐书的第199次更新,第208篇原创 01 看题和准备 今天介绍的是LeetCode算法题中Easy级别的第64题(顺位题号是263).编写一个程序来检查给定的数字是否是一个丑陋的数字.丑陋的数 ...