初学Python—列表和元组
一、什么是列表
列表是一系列数据的集合
二、列表的引用
首先定义一个列表
1 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

低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。
持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。
转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。
- 上一篇
字典的魔法
dict 创建一个字典 info = { "k1": "v1", "k2":"v2" } 字典value info = { "k1":18, "k2":True, "k3":[ 11, 22, 33, { 'kk1':'vv1', 'kk2':'vv2', 'kk3':'vv3' } ] } print(info) --- {'k3': [11, 22, 33, {'kk3': 'vv3', 'kk1': 'vv1', 'kk2': 'vv2'}], 'k2': True, 'k1': 18} 布尔值为key时,如果有数字1或0为key时,可能会重复,key需要是唯一的。 info = { 1:'asdf', "hehe":"asdf", True:"123" } print(info) --- {1: '123', 'hehe': 'asdf'} 要点 数字允许为key 列表不能做为字典的key 字典也不能做为字典的key 字典是无序的。 字典可以循环,默认循环所有的key 字典取值 v = info["k1"] print(v) --- 18 通过索引的方式找到指定的值。 v = ...
- 下一篇
JAVA之旅(七)——final关键字 , 抽象类abstract,模板方法模式,接口interface,implements,特点,扩展
JAVA之旅(七)——final关键字 , 抽象类abstract,模板方法模式,接口interface,implements,特点,扩展 一.final 我们来聊聊final这个关键字 final可以修饰类,方法和变量 final修饰的类不可以被继承 final修饰的方法不可以被覆盖 final修饰的变量是一个常量,只能被赋值一次 内部类只能访问被final修饰的局部变量 final,故名思意,就是最终的意思,由以上的五种特性,不过final的出现,也是有弊端的,他破坏了封装性,对继承有了挑战,为了避免被继承,被子类复写功能,还有,当你描述事物时,一些数据的出现值是固定的,那么,这时为了增强阅读行,都给这个值起个名字方便阅读,而这值不需要改变,就会用到final去修饰,作为常量,常量的书写规范是所有字母都大写,如果由多个单词组成,单词间通过下划线链接!而且内部类定义在类中的局部位置只能访问该局部被final修饰的局部变量 final大家只要记住他的特性就行 二.抽象类 这个抽象类应该是属于继承的下半部分的,我们看一个标注的代码 //公共的 类 类名 public class Hell...
相关文章
文章评论
共有0条评论来说两句吧...