python-day2-笔记一、列表介绍及各项功能使用

python 列表使用增删改查各项功能

定义列表

names = ["a","b","c","d","e","f","g"]   #给列表赋值,用中括号【】表示列表,无内容时为空,打印结果就是【】

print(names)                                    #打印输出结果:[‘a‘, ‘b‘, ‘c‘, ‘d‘, ‘e‘, ‘f‘, ‘g‘]

根据列表的下标号去取得表中的数值,所取数值在列表中所处第几位就是其下标号,计算机第一位从0开始计算,从左向右数

在列表中取值也叫   “切片”

print(names[0])                      #利用下标号取第一位置数值,输出结果:a

print(names[0],names[2])       #利用下标号取第一,三位置数值,输出结果:a c

print(names[0:4])                   #利用下标号取第一到第四位置前四个数值,输出结果:a b c d,取数值顾头不顾尾,所以取0123位置数值,下标4第五位置数值忽略,所以这种办法无法取最后一位数值

print(names[-1])                     #利用下标号取最后一位置数值,方向从右向左数就为-1,输出结果:g

print(names[-3:])                    #利用下标号取最后三位数值,不知道具体个数情况下取最后三位只能用-3,-2,-1来代替,而计算机是从左向右数,所以书写为【-3:-1】,但因为其留头去尾特性会舍弃最后的-1位数值,所以改为【-3:】,输出结果:e f g

和上一句原理相同print(names[0:4]) 可以等价于print(names[:4])

向已有列表中追加数值

names.append("h")            #往列表中追加数值,默认从最后依次追加,并且每次只能追加一个数值

print(names)                     #输出结果:[‘a‘, ‘b‘, ‘c‘, ‘d‘, ‘e‘, ‘f‘, ‘g‘, ‘h‘]

names.insert(1,"i")            #利用下标号把数值i插入第二位置,下标号为1

print(names)                    #输出结果:[‘a‘, ‘i‘, ‘b‘, ‘c‘, ‘d‘, ‘e‘, ‘f‘, ‘g‘]

names[1] = "j"                 #给固定位置数值重新赋值

print(names)                    #输出结果:[‘a‘, ‘j‘, ‘b‘, ‘c‘, ‘d‘, ‘e‘, ‘f‘, ‘g‘]

删除表中数值方法三种:

names.remove("b")         #直接用数值自身删除

print(names)                  #输出结果:[‘a‘, ‘c‘, ‘d‘, ‘e‘, ‘f‘, ‘g‘]

del names[3]                  #利用下标号删除

print(names)                  #输出结果:[‘a‘, ‘b‘, ‘c‘, ‘e‘, ‘f‘, ‘g‘]

names.pop(5)                #不输入下标号默认删除最后一个位置,输入则删除对应位置数值

print(names)                 #输出结果:[‘a‘, ‘b‘, ‘c‘, ‘e‘, ‘g‘, ‘h‘]

根据数值本身查询下标号

print(names.index("e"))   #上传数据本身查询下标号,输出结果: 4

print(names[names.index("e")])

统计列表中同名数值

names = ["a","b","c","d","e","f","g","d"]           #给列表赋值

print(names.count("d"))                                  #利用列表统计同名数值d,输出结果:2

列表清空

names.clear()                                                 #清空列表,之后打印输出结果为空[]

列表内数值排序反转

names.reverse()                                             #反转列表排序 print(names)    #输出结果:[‘d‘, ‘g‘, ‘f‘, ‘e‘, ‘d‘, ‘c‘, ‘b‘, ‘a‘]

列表数值依据优先级排序

names.sort()                                                  #将列表中数值依据ASCII码表里面首字母的优先级排序,特殊符号最优先,然后数字,然后大写字母,最后小写字母

列表扩展功能

names = ["a","b","c","d","e","f","g","d"]

names2 =[1,2,3,4,5]

names.extend(names2)                                   #扩展功能,把names2表中的内容增加到names中,且names2仍然会存在

print(names)   输出结果:[‘a‘, ‘b‘, ‘c‘, ‘d‘, ‘e‘, ‘f‘, ‘g‘, ‘d‘, 1, 2, 3, 4, 5]

列表浅复制

names = ["a","b","c","d","e",["A","B","C"],"f","g","d"]   #定义列表names,且第六位置下标5位另一张子列表

names2 = names.copy()                                     #定义列表names2,复制names

names[1] = "B"                                            #names下标1第二位置换成大写B

names[5][0] = "a"                                         #names下标5第六位置子列表里下标0第一位置换成小写a

print(names)

print(names2)

输出结果:

[‘a‘, ‘B‘, ‘c‘, ‘d‘, ‘e‘, [‘a‘, ‘B‘, ‘C‘], ‘f‘, ‘g‘, ‘d‘]

[‘a‘, ‘b‘, ‘c‘, ‘d‘, ‘e‘, [‘a‘, ‘B‘, ‘C‘], ‘f‘, ‘g‘, ‘d‘]

结论:names.copy()为浅复制,第一层数值完全复制,names得下标1位置改为大写B后,names2仍然保留为小写b 但是第二层子列表保存的不是数值,而是一个指针,指向内存中子列表存放位置,所以两张表中子列表变化完全一致, 即修改name2子列表中数值,names子列表也会随之改变

实现浅复制三种方式:

import copy person = [‘name‘,[‘a‘,100]]

p1 = copy.copy(person)

p2 = person[:]

p3 = list(person)

浅复制使用可以用于创建联合账号,如两张表第一层所属人不同,但子列表中数值可以同步变化

import copy

person = [‘name‘,[‘deposit‘,100]]     #姓名 (薪水,金额)

p1 = person[:]

p2 = person[:]

p1[0] = ‘xuejianing‘

p2[0] = ‘hexu‘

p2[1][1] = 50

print(p1)

print(p2)

得到输出结果:姓名不同,但是子列表里存款金完全同步

[‘xuejianing‘, [‘deposit‘, 50]]

[‘hexu‘, [‘deposit‘, 50]]

如果要完全复制需要引用库做强复制

import copy                                                                #引用模块

names = ["a","b","c","d","e",["A","B","C"],"f","g","d"]   #定义列表names,且第六位置下标5位另一张子列表

names2 = copy.deepy(names)                                     #强复制

这样names,names2就是两张完全独立的表,一般不建议这么做,类似linux中的硬链接文件

补充:列表间隔打印

names = ["a","b","c","d","e",["A","B","C"],"f","g","d"]

print(names[0:-1:2])                                                    #从第一个数自到最后一个数字,步长2,间隔打印

输出结果:[‘a‘, ‘c‘, ‘e‘, ‘f‘, ‘d‘] 该语句可简化为 print(names[::2])

元组tuple,也是一种列表,但是创建完成后就只能查询和切片,也叫只读列表

定义元组names = (‘a‘,‘b‘,‘c‘)

参数只有names.count和names.index

时间: 2024-11-05 15:59:52

python-day2-笔记一、列表介绍及各项功能使用的相关文章

python学习笔记之列表、元组、字典(1)

1.最基本的数据结构:序列 a.任何序列都是从 0 序列号(也成为索引)开始的: 如下:第一个元素是‘H’ >>> a = 'Hello'>>> a[0]'H' b.序列的操作: 分片:a[1:5]  #表示从第2个元素到第6个元素,但不包括第6个元素 a[-3:-1] #表示从倒数第3个元素到倒数第一个元素,但不包括倒数第一个元素 a[-3:]   #表示从倒数第三个元素到最后一个元素,可以取到最后一个元素 a[:]  #表示a的全部元素 a[1:9:2]  #表示从

Python学习笔记2_列表简介

1.1   列表是什么 在Python中,用方括号([])来表示列表,并用逗号来分隔其中的元素. 列表是有序集合,因此要访问列表的任何元素,只需将该元素的位置或索引告诉Python即可.Python为访问最后一个列表元素提供了一种特殊语法.通过将索引指定为-1,可让Python返回最后一个列表元素: bicycles = ['trek', 'cannondale', 'redline', 'specialized'] print(bicycles) print(bicycles[0]) prin

python学习笔记2——列表

1.列表简介 列表 由一系列按特定顺序排列的元素组成. 你可以创建包含字母表中所有字母. 数字0~9或所有家庭成员姓名的列表: 也可以将任何东西加入列表中, 其中的元素之间可以没有任何关系. 鉴于列表通常包含多个元素, 给列表指定一个表示复数的名称(如letters . digits 或names ) 是个不错的主意. 在Python中, 用方括号([] ) 来表示列表, 并用逗号来分隔其中的元素. 下面是一个简单的列表示例, 这个列表包含几种自行车:  bicycles = ['trek',

Python学习笔记3_列表操作

1.1   遍历整个列表 需要对列表中的每个元素都执行相同的操作时,可使用Python中的for循环. 如,让Python从列表magicians中取出一个名字,并将其存储在变量magician中. magicians = ['alice', 'david', 'carolina'] for magician in magicians: # Need spaces print(magician)    for magician in magicians: 让Python获取列表magicians

[Python]学习笔记之列表

# coding=utf-8 #一 初始列表 fruits = ["apple","banama","peach"] print fruits print fruits[0] #列表长度 print len(fruits) #尾部追加一个数据项 fruits.append("watermelon") print fruits #尾部删除一个数据项 fruits.pop() print fruits #尾部追加一个数据项集合 f

python学习笔记(列表、元组、购物车实例)

一.列表 列表和字典是最常用的两种数据类型 1. 需求:怎么存放班级80多人的姓名,如何实现? names = ["Zhangyang","Guyun","Xiangpeng","Xuliangchen"] print(names[0],names[2]) #取出 Zhangyang Xiangpeng print(names[2:4]) #切片,取出"Xiangpeng","Xuliangche

python爬虫笔记_列表操作

列表是Python中最基本的数据结构,列表是最常用的Python数据类型,列表的数据项不需要具有相同的类型.列表中的每个元素都分配一个数字 - 它的位置,或索引,第一个索引是0,第二个索引是1,依此类推.Python有6个序列的内置类型,但最常见的是列表和元组.序列都可以进行的操作包括索引,切片,加,乘,检查成员.此外,Python已经内置确定序列的长度以及确定最大和最小的元素的方法. 一.创建一个列表只要把逗号分隔的不同的数据项使用方括号括起来即可.如下所示: list1 = ['physic

python学习笔记之列表与元组

一.概述 python包含6种内建的序列,其中列表和元组是最常用的两种类型.列表和元组的主要区别在于,列表可以修改,元组则不能修改 使用上,如果要根据要求来添加元素,应当使用列表:而由于要求序列不可修改时,此时使用元组更合适 一般来说,几乎可以用列表代替元组 二.通用操作 所有序列类型都可以进行某些特定的操作,包括:索引.切片.加.乘以及检查元素是否属于序列 1.索引 序列中的所有元素同PHP Array一样都有编号,而且这个编号从0开始,可以通过这个编号来访问元素 字符串也是一个由字符组成的序

python学习笔记(开课介绍3)

学PYTHON有没有前途? 美国python工程师工资情况:8-11W美元 中国,以北京为例,2013年时全国范围内只有30个python职位, 地域差别很大. 编程语言排名: 2013年,python排第八 2015排到第四 codeeval网站调研,项目开发首选语言是python:31.2%. 运维必须要会开发么? ·如何高效的适应业务的频繁更新.变更.上线.扩展? ·如何在最低成本的前提下实现业务并发运算能力的可伸缩式扩展? ·如何实现运维人员从被动处理故障到故障预防和故障高度自愈的转换?