打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
Python基础笔记3-列表、元组、字典
温馨提示:手机观看时,代码块可以左右滑动

本文内容

  • 列表新建

索引
切片
序列的加法和乘法
成员资格
列表方法

  • 元组

  • 字典

字典常用方法

写在前面

  • Python内置了多种序列,列表和元组是其中最常用的两种;

  • 列表和元组的主要区别在于,列表可以修改,而元组不可以;

  • 常规操作包括索引、切片、插入、删减等。

列表新建

  • 新建一个列表;

  • 列表由中括号为容器,每个元素之间用逗号间隔。

#新建一个列表:alist = [1,'nihao','hello','你好']print(alist)

索引

  • 列表中所有元素都有编号—从0开始递增;

  • 列表中第一个元素编号为0,最后一个元素编号为-1。

alist = [1,'nihao','hello','你好']alist[0]    #取出alist中的第一个元素1alist[-1]   #取出alist中的最后一个元素'你好'alist[2]    #取出alist中的第三个元素'hello'

切片

  • 用索引我们可以访问单个元素,而切片可以让我们访问多个元素

  • 使用两个索引值,并用冒号分隔

blist = [1,2,3,4,5,6,7,8,9,10] #新建一个列表blistblist[0:3] #取出blist中前3个元素[1,2,3]blist[7:10] #取出blist中后3个元素[8,9,10]#添加步长参数blist[0:4:2] #按步长为2,取出blist中前4个元素.[1,3]
#小应用:提取域名wangzhi = input('请输入网址')   #输入http://www.xiaokeai.comyuming = wangzhi[11:-4]         #截取域名print(yuming)                   #返回 xiaokeai

序列的加法和乘法

[1,3,4]+[4,6,7] #运行结果为[1, 3, 4, 4, 6, 7][1,3,4]*4 #运行结果为[1, 3, 4, 1, 3, 4, 1, 3, 4, 1, 3, 4]

成员资格

  • 用in判断元素是否在列表中,存在返回True,不存在返回False

#判断输入的内容是否存在users = ['王二麻子','李大嘴','赵四','大墩子']  #简历列表usersuser_name = input('请输入你的名字:')           #输入user_name in users

列表方法

  • append 将一个对象附加到列表结尾

  • insert 将一个对象插入到列表中的指定位置

  • extend 将多个值添加进列表末尾

lst = [3,7,32,8,13,34] #创建新列表lstlst.append(3) #添加新元素3print(lst) #打印结果[3, 7, 32, 8, 13, 34, 3]tst = [3,7,32,8,13,34] #创建新列表tsttst.insert(3,'hello') #插入新元素,使得新元素的索引为3print(tst) #打印结果[3, 7, 32, 'hello', 8, 13, 34]ist = [3,7,32,8,13,34] #创建新列表ista = [1,3,4] #创建新列表aist.extend(a)print(ist) #打印结果[3, 7, 32, 8, 13, 34, 1, 3, 4]#extend添加与加法(ist+a)的主要区别是,extend改变了ist的内容,而加法没有改变ist
  • copy 复制列表

  • count 计算出指定的元素在列表中出现了多少次

  • index 查找指定值第一次出现的索引

a = [1,2,3]           #创建新列表ab = a.copy()          #将a复制给bprint(b)              #输出结果[1,2,3]b[1] = 4              #改变b中的元素print(a,b)            #a不会被改变,输出[1, 2, 3] [1, 4, 3]k = ['two','to','san','two',['two','two']]  #新建列表kk.count('two')                              #统计k中'two'的个数,返回结果2k.index('to')                               #返回to第一次出现的索引值,结果为1
  • pop 从列表中删除末尾元素,并返回这一元素

  • remove 用于删除第一个为指定值的元素

  • clear 清空列表内容

  • del 删除列表中元素(del语句不属于方法)

x = [1,2,3] #创建新列表xx.pop() #删除了最后一个元素,并返回3print(x) #输出结果[1,2]y = [4,65,86,4,56,5] #创建新列表yy.remove(4) #删除列表中第一个4print(y) #输出结果[65, 86, 4, 56, 5]j = [5,432,5425.6,51] #创建新列表jj.clear() #清除列表print(j) #打印结果[]l = ['to','be','am','is','are'] #创建新列表ldel l[2] #删除l中索引为2的元素print(l) #输出结果['to', 'be', 'is', 'are']
  • sort 对列表进行排序,默认为从小到大排序,或者按字母顺序排序。调整参数可以调整排序方式。

h = [32,54,6,8,2,543,6576,243]h.sort()                       print(h)  #输出结果[2, 6, 8, 32, 54, 243, 543, 6576],按数字大小h.sort(reverse=True)h.reverse()print(h)  #调整sort中reverse参数或者直接使用reverse方法可以倒序排序,输出结果为[6576, 543, 243, 54, 32, 8, 6, 2]y = ['p','y','t','h','o','n']y.sort()print(y)  #输出结果['h', 'n', 'o', 'p', 't', 'y'],按字母先后顺序name = ['dhjak ','jkl','dsafd','dasjkdal']name.sort(key=len)  #调整sort的key参数,可以实现按文本长度排序print(name)         #输出结果['jkl', 'dsafd', 'dhjak ', 'dasjkdal']

元组

  • 以小括号形式体现的数据集,不同元素之间用逗号隔开;

  • 元组许多功能与列表相似,唯一区别是不能进行修改元素。语法也很简答,在这就不一一赘述。

字典

  • 字典由“{}”、“键”以及“值”组合而成,键和值之间用“:”相连。每个键值对之间由“,”相隔;

  • 字典是一种无序的映射的集合。包含若干个键值对;

  • 其中字典中的键通常采用字符串,但也可以用数字、元组等类型;字典值则可以是任意类型。

思考:有了列表和元组两个容器,我们为什么还需要用字典呢?
接下来给大家举一个例子,用该例子说明我们字典的优势。
#开学了,现在我们这有一份学员名单,以及每个学员的性别,如下:name = ['zhao','qian','sun','li','zhou','wu','zheng','wang']gender = ['F','M','F','F','M','F','M','M']#现在我们想知道同学'sun'的性别,于是我们写了以下代码:print(gender[name.index('sun')])#上面这行代码当然是可以为我们反馈正确结果的,但是这个代码写起来非常麻烦。如果我们建立了字典,将会大大简化我们的代码。步骤如下:xueyuan = {'zhao':'F','qian':'M','sun':'F','li':'F','zhou':'M','wu':'F','zheng':'M','wang':'M'}print(xueyuan['sun'])
从刚才这个小例子,我们看到了字典的优势,也知道了如何建立字典容器。接下来我们来看字典的基本操作:
  • len(dict)返回dict字典中包含的项(键值对)个数;

  • dict[a]返回与键a相关联的值;

  • dict[b] = value 讲b值关联到key2;

  • del dict[c] 删除c的项;

  • e in d 检查字典d是否包含键为e的项;

dict1 = {'name':'zhang','age':10}  #创建字典print(len(dict1))                  #用函数len()求出字典dict1的键值对个数,返回2print(dict1['name'])               #通过'[键]'可以查出该键所对应的的值,返回'zhang'dict1['age']=12                    #更改age所对应的值print(dict1)                       #返回结果{'name': 'zhang', 'age': 12}del dict1['age']                   #删除'name'项print(dict1)                       #返回结果{'name': 'zhang'}'name' in dict1                    #检查字典dict1中是否包含'name'项,返回True
字典的常用方法
  • pop() 从字典中删除,并返回映射值

  • popitem() 从字典中删除并返回键值对元组

  • clear() 删除字典内的全部对象

d1 = {'a':1,'b':2,'c':3} #创建字典d1d1.pop('a') #删除键为a的键值对,并且返回值1print(d1) #返回{'b': 2, 'c': 3}d1.popitem() #随机的删除d1中某一对键值对,并返回键值对元组。因为字典是无序的,不能确定他每次删除的是哪一项键值对。如果本身字典为空,在执行该语句会报错。d1.clear() #清除字典内全部对象print(d1) #返回{}
  • copy() 复制字典对象

x = {'name':'张三','age':'9'}     #创建一个字典y = x                             #直接复制时,x和y引用同一个字典print(x,y)                        #返回{'name': '张三', 'age': '9'} {'name': '张三', 'age': '9'}y['name']='李四'                  #将y中键'name'的值改为'李四'print(x)                          #x也跟随改变,{'name': '李四', 'age': '9'}#可以用方法copy()解决这个问题y = x.copy()                      #y引用复制字典y['name'] = '王五'                #讲y中键'name'的值改为'王五'print(y,x)                        #x也跟随改变,{'name': '王五', 'age': '9'} {'name': '李四', 'age': '9'}
  • get(key[,default]) 返回key键映射的值。如果key不存在,返回空值。可以用default参数指定不存在的键的返回值。如下例

x = {'name':'张三','age':'9'} #创建一个字典x.get('name') #返回键'name'对应值''张三'x.get('gender') #没有'gender'键,所以返回空x.get('gender','none') #设定default参数,当没有'gender'键,返回'none'
  • setdefault(key[,default]) 用该方法返回映射值或者添加键值对。

  • upgrade() 为字典添加键值对,若字典已存在同名的键,则映射值被覆盖。

x = {'name':'张三','age':'9'}     #创建一个字典x.setdefault('name')              #返回键'name'对应值''张三'x.setdefault('gender')            #添加新键值对print(x)                          #返回{'name': '张三', 'age': '9', 'gender': None},默认给None值x.setdefault('phone','123')       #添加新键值对print(x)                          #返回{'name': '张三', 'age': '9', 'gender': None, 'phone': '123'}
  • items() 返回键值对视图

  • keys() 返回字典中所有键的视图

  • values() 返回字典中所有值的视图

y = {'name': '张三', 'age': '9', 'gender': None, 'phone': '123'} #创建一个字典x.items() #返回键值对视图 dict_items([('name', '张三'), ('age', '9'), ('gender', None), ('phone', '123')])x.keys() #返回所有键的视图 dict_keys(['name', 'age', 'gender', 'phone'])x.values() #返回所有值的视图 dict_keys(['name', 'age', 'gender', 'phone'])


本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
【热】打开小程序,算一算2024你的财运
数据类型
python字典里取key和value的几种方法
python字典删除键值对
Python基础——元组,字典,集合
python可变对象和不可变对象
python的【字典dict】:创建、访问、更新、删除;查看键、值、键值对;遍历;排序
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服