Python语法基础三(介绍列表,元组,字典,集合及其常用方法)
一、列表
作为Python内置的一种数据类型,是一种有序的集合,可随时增,删,改其中的元素。列表中的元素不必全是相同的类型(与C语言强大的地方)
如:
list1 = [‘Mari’, ‘Tom’, 100, 1234]
常见列表操作
1、列表的长度
格式:
len(列表名)
如:
namesList = [‘xiaoWang’, ‘xiaoHuang’, ‘xiaoLi’]
len(namesList)
2、列表的访问
用索引来访问list中每个位置的元素, 记得索引从0开始
格式:列表变量名[索引]
如:
namesList = [‘xiaoWang’, ‘xiaoHuang’, ‘xiaoLi’]
print(namesList[0])
print(namesList[1])
print(namesList[2])
print(namesList[3])
注意:当索引超出列表范围时,Python会报IndexError错误,因此遍历列表时最后一个元素索引为len(namesList)-1
索引为负数即取倒数第几个元素
print(namesList[-1])
print(namesList[-2])
print(namesList[-3])
3、列表的切片
格式 :列表名[起始下标 :结束下标:步长]
注意:起始下标默认0, 结束下标为不包含,步长默认是1
4、添加元素(append, extend, insert)
1)通过append向列表添加元素
格式:列表变量名.append(添加的元素或列表名)
如:
namesList = [‘xiaoWang’, ‘xiaoHuang’, ‘xiaoLi’]
print("------添加之前, 列表原数据------")
for tempName in namesList:
print(tempName)
name = input(‘请输入你要添加的学生姓名:’)
namesList.append(name)
print("------添加之后, 列表原数据------")
for tempName in namesList:
print(tempName)
2)通过extend可以将另一个集合中的元素逐一添加到列表
格式:列表变量名.extend(添加的元素或列表名)
3)通过insert在指定位置前插入元素
5、修改元素
格式:列名[索引] = 更新值
如:
namesList = [‘xiaoWang’, ‘xiaoHuang’, ‘xiaoLi’]
print("------修改之前, 列表原数据------")
for tempName in namesList:
print(tempName)
namesList[1] = ‘xiaoHong’
print("------修改之后, 列表原数据------")
for tempName in namesList:
print(tempName)
6、查找元素
查找即看指定元素是否存在
Python中查找的常用 方法:
in(存在),如果是结果为True,否则为False
not in(不存在),如果不存在那么结果为true, 否则为false
或使用index,count
namesList.index(findName, 0, len(namesList))
namesList.count(findName)
7、删除元素
列表常用删除元素方法:
del:根据下标进行删除
pop:删除最后一个元素
remove:根据元素的值进行删除
8、列表的排序
sort方法可将列表按特定顺序重新排序,默认由小到大,参数reverse=True可改为降序,由大到小
reverse方法是将列表逆置
如:
9、列表的遍历
为更有效的输出列表的每个数据, 可以使用for或while循环来完成
如:
namesList = [‘xiaoWang’, ‘xiaoHuang’, ‘xiaoLi’]
for i in range(len(namesList)):
print(namesList[i])
for name in namesList:
print(name)
namesList = [‘xiaoWang’, ‘xiaoHuang’, ‘xiaoLi’]
length = len(namesList)
i = 0
while i < length:
print(namesList[i])
i += 1
二、元组
也是一种有序列表,与list类似,但是一旦初始化就不能修改, 且没有append(), insert()这样的方法,获取元素的方法与list一样
如:
classmates = (‘Michael’, ‘Bob’, ‘Tracy’)
定义 空元组
t = ()
三、字典
1、定义及格式
字典是另一种可变容器模型,且可存储任意类型对象
字典的每个键值(key=>value)对用 冒号(:)分割,每个对之间用逗号(,)分割,整个字典包括在花括号{}中
如:
d = {‘Michael’: 95, ‘Bob’: 75, ‘Tracy’: 85}
取值:
d[‘Michael’]
如果 Key不存在,dict会报错
2、字典常用操作
1)修改元素
通过key找到要修改的元素,即可修改
如:
info = {‘name’: ‘abc’, ‘id’: 100, ‘sex’: ‘m’, ‘address’: ‘中国上海’}
new_id = input(‘请输入新学号:’)
info[‘id’] = int(new_id)
print(‘修改之后的id为:%d’ % info[‘id’])
2)添加元素
若访问不存在的元素,会报错
如:
info = {‘name’: ‘abc’, ‘sex’: ‘m’, ‘address’: ‘中国上海’}
print(‘id为:%d’ % info[‘id’])
添加字典元素的 方法和更新类似
如:
info = {‘name’: ‘abc’, ‘sex’: ‘m’, ‘address’: ‘中国上海’}
Id = input(‘请输入新的学号:’)
info[‘id’] = Id
print(‘id为:%d’ % info[‘id’])
3)删除元素
del/clear()
del删除指定元素
格式:del 字典变量名[键名]
如:
info = {‘name’: ‘abc’, ‘id’: 123, ‘sex’: ‘m’, ‘address’: ‘中国上海’}
print(‘删除前name:%s’ % info[‘name’])
del info[‘name’]
print(‘删除后name:%s’ % info[‘name’])
del删除整个字典
格式:del 字典变量名
如:
info = {‘name’: ‘abc’, ‘id’: 123, ‘sex’: ‘m’, ‘address’: ‘中国上海’}
print(‘删除前字典:%s’ % info)
del info
print(‘删除后字典:%s’ % info)
clear清空整个字典
格式:字典变量名.clear()
如 :
4)获取字典键值对个数
格式:len(字典变量名)
如:
info = {‘name’: ‘abc’, ‘id’: 123, ‘sex’: ‘m’, ‘address’: ‘中国上海’}
print(len(info))
5)返回字典中所有键
格式:字典变量名.keys()
如:
info = {‘name’: ‘abc’, ‘id’: 123, ‘sex’: ‘m’, ‘address’: ‘中国上海’}
print(list(info.keys()))
6)返回字典中所有值
格式 :字典 变量名.values()
如:
info = {‘name’: ‘abc’, ‘id’: 123, ‘sex’: ‘m’, ‘address’: ‘中国上海’}
print(list(info.values()))
7)返回包含所有键值的元组
格式:字典变量名.items()
如:
info = {‘name’: ‘abc’, ‘id’: 123, ‘sex’: ‘m’, ‘address’: ‘中国上海’}
print(info.items())
print(list(info.items()))
注:items()返回的是元组,用 list()可将元组转换为列表
四、集合(set)
1、定义
集合是一个无序不重复的序列
可以用大括号{}或set()函数创建 集合,
注:创建一个空集合必须用 set()而不是{},
{}用于创建空字典
如:
my_set = { 2, 3, ‘efg’, ‘hi’}
集合不支持下标赋值和取值
2、遍历集合:
定义空集合
my_set = set()
my_set.add(1)
my_set.add(1)
print(my_set, type(my_set))
4、集合可以对容器中数据去重
my_list = {1, 3, 3, 1, 5, 2}
my_set = set(my_list)
print(my_set)
my_list = list(my_set)
print(my_list)