python3学习(二)——列表、元组、字典

一、列表
列表是最常用的python数据类型,可以作为一个方括号内的逗号分割值出现。列表的数据项(元素)不需要具有相同的类型。
创建一个列表,只要把逗号分隔的不同的数据项使用方括号括起来即可。
如下:
stu_name = ['郑重','杨帆','刘荣心',1,1.5,2]
列表中的元素(郑重、杨帆、刘荣心...)都是有编号的。
计算机里面,编号的起始都是从0开始的,0,1,2,3.....即郑重是0,杨帆是1,以此类推。
编号也可以叫“索引、下标、角标”,其实都是一个意思。
元素可以是任意类型,如果是整型,就不需要引号。

1.访问列表中的值
取出刘荣心,取值↓
print(stu_name[2])
打印所有元素↓
print(stu_name)
输出结果:
  ['郑重', '杨帆', '刘荣心', 1, 1.5, 2]
2.更新列表
list里面添加元素,如在stu_name中加个人,两种办法:
第一种:在末尾添加
stu_name.append('临夏县') #######在list的末尾添加一个元素
print(stu_name)
输出结果:
  ['郑重', '杨帆', '刘荣心', 1, 1.5, 2, '临夏县']
第二种:指定一个位置添加元素
stu_name.insert(0,'小军') #######会把小军放在第一个元素,即索引0的位置。
print(stu_name)
输出结果:
  ['小军', '郑重', '杨帆', '刘荣心', 1, 1.5, 2, '临夏县']
stu_name.insert(0,'小明') #######就会把小军往后移,移到1。小明放到0。
print(stu_name)
输出结果:
  ['小明','小军', '郑重', '杨帆', '刘荣心', 1, 1.5, 2, '临夏县']
注:重复运行,不会重复添加,是因为,运行完一次,就会销毁一次,然后取list重新定义好的。

3.修改元素
把1.5改成哆啦A梦,通过下标找到元素,然后修改,由于上面有增加过元素,所以要运行后,再去取1.5的下标才是准确的下标
stu_name[6]='哆啦A梦'
print('修改之后的',stu_name)
输出结果:
  修改之后的 ['小明', '小军', '郑重', '杨帆', '刘荣心', 1, '哆啦A梦', 2, '临夏县']

4.删除元素
删除元素的方法有三种:pop\remove\del
pop用法:
(1)默认删除末尾元素↓
stu_name.pop()
print(stu_name)
输出结果:
  ['小明', '小军', '郑重', '杨帆', '刘荣心', 1, '哆啦A梦', 2] ####原本末尾的'临夏县'这个元素被删除了

(2)删除指定下标的元素
stu_name.pop(4)#删除刘荣心
如果是不存在的下标,
stu_name.pop(10)
print(stu_name)
运行后会报错:pop index out of range,下标越界。

remove用法:
删除指定元素
stu_name.remove('小军')#直接指定删除小军,如果有一样的元素,默认删第一个
print(stu_name)
输出结果:
  ['小明', '郑重', '杨帆', '刘荣心', 1, '哆啦A梦', 2]

del用法:
del stu_name[-1]#删除末尾元素,-1就是从右往左第一个,负数就是从后面开始数
print(stu_name)

5.查找元素
新创建一个列表list2
list2 = ['零','一','二','三','四','五',6,7,6,8,9]
(1)直接指定下标查找↓
print(list2[-1])
输出结果:
  9
print(list2[0])
输出结果:
  零

(2)count方法:
统计某个元素在列表中出现的次数
print(list2.count(6))
输出结果:
  2 #####6这个元素在列表中出现2次。

(3)index方法:
从列表中找出某个值第一个匹配项的索引位置
print(list2.index('三'))#查找元素'三'的下标
输出结果:
  3
print('index方法:',list2.index('三'))#查找元素的下标
输出结果:
  index方法: 3

(4)reverse方法:
反向列表中元素
print('reverse方法:',list2.reverse())#作用:反转list,这个方法没有返回值,需要print查看返回结果
print(list2)
输出结果:
  [9, 8, 7, 6, 6, '五', '四', '三', '二', '一', '零']

(5)clear方法:
清空列表
list2.clear()#清空整个list
print(list2)
输出结果:
  []
(6)sort方法:
再创建个列表num
nums = [9.23,9,8,2,1,6]
nums.sort()#升序
print(nums)
输出结果:
  [1, 2, 6, 8, 9, 9.23]

nums.sort(reverse=True)#如果指定了reverse=True,那么就是降序,因为原本是升序,反转了一下就是降序了。
print(nums)
输出结果:
  [9.23, 9, 8, 6, 2, 1]

(7)extend方法:
在列表末尾一次性追加另一个序列中的多个值(用新列表扩展原来的列表)
nums.extend(list2)#合并2个列表,把list2的元素加到nums
print(nums)
输出结果:
  [9.23, 9, 8, 6, 2, 1, 9, 8, 7, 6, 6, '五', '四', '三', '二', '一', '零']

而下面的实例,则是把2个列表合并到一个新的列表
new_list = nums +list2 ######可以一直+
当然也可以不生成新的,重新放到nums,比如nums = nums + list2
print(new_list)
输出结果:
  [9.23, 9, 8, 6, 2, 1, 9, 8, 7, 6, 6, '五', '四', '三', '二', '一', '零']
也可以乘,相当于复制
print(new_list*3)
输出结果:
  [9.23, 9, 8, 6, 2, 1, 9, 8, 7, 6, 6, '五', '四', '三', '二', '一', '零', 9.23, 9, 8, 6, 2, 1, 9, 8, 7, 6, 6, '五', '四', '三', '二', '一', '零', 9.23, 9, 8, 6, 2, 1, 9, 8, 7, 6, 6, '五', '四', '三', '二', '一', '零']

二、元组
Python的元组与列表类似,不同之处在于元组的元素不能修改。元组使用小括号,列表使用方括号。
元组的创建很简单,只需要在括号中添加元素,并使用逗号隔开即可。
创建一个元组↓
mysql = ('118.24.3.40',3306,'root','123456')
#   mysql[1] = 3307      
#  元组的元素不能被修改,否则会报错('tuple' object does not support item assignment)

取mysql中索引0到2的元素
print(mysql[:3]) #####前面没写的话,默认就是从最前面开始取值,取到索引为2的位置结束
输出结果:
  ('118.24.3.40', 3306, 'root')

元组的两个方法:
mysql.count()查次数
mysql.index()查下标

三、字典

  字典是另一种可变容器模型,且可存储任意类型对象。

  字典的每个键值(key=>value)对用冒号(:)分割,每个对之间用逗号(,)分割,整个字典包括在花括号({})中 ,格式如下所示:

d = {key1 : value1, key2 : value2 }

创建一个字典:
stus = {}
1.增加元素
增加有2种办法:
(1)增加-1
stus['name'] = '郑重' #####增加一个Key-value值,name:郑重
stus['name'] = '临夏县' #####由于这个key值已经存在,所以只是更新这个key对应的value值,所以输出的还是name:临夏县
print(stus)
输出结果:
  {'name': '临夏县'}
(2)增加-2 #跟第一种的区别:
stus.setdefault('name','仙萍')#如果这个key的值已经存在,那么就不修改它的值了,名字没改,还是返回临夏县
stus.setdefault('age',17)
stus.setdefault('sex','nan')
stus.setdefault('addr','北京')
stus.setdefault('phone',144324234237)
print(stus)
{'name': '临夏县', 'age': 17, 'sex': 'nv', 'addr': '北京', 'phone': 14435325252}

2.修改
向字典添加新内容的方法是增加新的键/值对,修改或删除已有键/值对
stus['name'] = '小明'
print(stus)
输出结果:
  {'name': '小明', 'age': 17, 'sex': 'nv', 'addr': '北京', 'phone': 14435325252}

3.删除字典元素
显示删除一个字典用del命令↓
del stus['phone'] #中括号
print(stus)
输出结果:
  {'name': '小明', 'age': 17, 'sex': 'nv', 'addr': '北京'}
还有一种删除方法↓
stus.pop('phone') #小括号
区别就是这个pop是用小括号。

4.查询
把相应的键放入到方括号中
print((stus['name']))
输出结果:
  小明

如果查询没有这个值,就会报错,因此用get方法,可以返回指定的值,如果值不在字典中返回default值,default=None

print(stus.get('bag')) ####如果没这个值,就不会报错,返回默认值
输出结果:
  NOne


























猜你喜欢

转载自www.cnblogs.com/zz6382034/p/9556715.html