列表
列表是Python中最基本的数据结构。列表中的每个元素都分配一个数字 - 它的位置,或索引,第一个索引是0,第二个索引是1,依此类推。
Python有6个列表的内置类型,但最常见的是列表和元组。
序列都可以进行的操作包括索引,切片,加,乘,检查成员。
此外,Python已经内置确定列表的长度以及确定最大和最小的元素的方法。
列表是最常用的Python数据类型,它可以作为一个方括号内的逗号分隔值出现。
列表的数据项不需要具有相同的类型。
list = [('a', 'A'), ('b', 'B'), ('c', 'C')]
for x in list:
print(x)
for x, y in list:
print(x, y)
枚举:
enumerate 枚举 : 可以让被遍历元素 添加一个编号(索引值)
for后面的第一个参数 即为索引值 第二个参数 为被遍历的元素
for x, y in enumerate(list):
print(x, y)
for x, (y, z) in enumerate(list):
print(x, y, z)
list = [(1, [2, 3]), (4, [5, 6]), (7, [8, 9])]
for index, (x, [y, z]) in enumerate(list):
print(index, x, y, z)
extend函数
列表和字符串一样可以进行拼接;
extend 将被合并的集合的所有值给 主动进行合并的集合
最终结果为 两个集合的元素个数的综合
它和append类似但又有不同;
append 将被合并的集合作为一个整体给 主动进行合并的集合
最终结果为 主动进行合并的集合元素个数等于之前的个数+1
list1 = ['a', 'b', 'c']
list2 = ['d', 'e', 'f']
list3 = list1 + list2
print(list3)
# extend 扩展,添加
list1.extend(list2)
print(list1)
startswith方法
startswith() 方法用于检查字符串是否是以指定子字符串开头,如果是则返回 True,否则返回 False。如果参数 beg 和 end 指定值,则在指定范围内检查。
list = ['张三', '张飞', '张良', '赵子龙', '关云长']
list5 = [x for x in list if x.startswith('张')]
print(list5)
reverse函数
reverse() 函数用于反向列表中元素。
list = ['1', '2', '3']
# reverse() 相反的
list.reverse()
print(list)
sum函数
sum() 方法对系列进行求和计算。
list = [1, 2 ,3 ,4 ,5,6,7,8,9,10]
some = 0
for x in list:
some += x
print(some)
result = sum(list)
print(result)
sorted 函数
sorted() 函数对所有可迭代的对象进行排序操作。
sort 与 sorted 区别:
sort 是应用在 list 上的方法,sorted 可以对所有可迭代的对象进行排序操作。
list 的 sort 方法返回的是对已经存在的列表进行操作,而内建函数 sorted 方法返回的是一个新的 list,而不是在原来的基础上进行的操作。
获取正序:
list = [2, 3, 1, 5, 7, 10, 9, 8, 6, 4]
list2 = sorted(list)
print(list2)
获取反序:
list = [2, 3, 1, 5, 7, 10, 9, 8, 6, 4]
# revsrse 倒序 默认值为Flase
list2 = sorted(list, reverse=True)
print(list2)
列表元素的索引与遍历
list = [
[
['a'], # [0][0][0]
['b'] # [0][1][0]
],
[
['c'], # [1][0][0]
['d'] # [1][1][0]
],
[
['e'], # [2][0][0]
['f'] # [2][1][0]
]
]
print(list[2][0][0])
list1 = [[1], [2], [3],[4],[5]]
for x in list1:
for y in x:
print(y)
两种方法遍历:
list = [
[
['a'],
['b']
],
[
['c'],
['d']
],
[
['e'],
['f']
]
]
# 方法1:
for x in list:
for y in x:
for z in y:
print(z)
# 方法2:
for x , [[y],[z]] in enumerate(list):
print(y,z)
元组
Python的元组与列表类似,不同之处在于元组的元素不能修改。元组使用小括号,列表使用方括号。
元组创建很简单,只需要在括号中添加元素,并使用逗号隔开即可。
创建元组的两种方式:
tp1 = ()
tp2 = tuple()
如果元组在创建的时候没有放入元素
那么这个元组就没有意义
元组和列表的区别:
列表可以任意进行增删改查等操作
元组只可以进行 查 操作
tp = ('a','b','c','d')
if 'a' in tp:
print('存在')
else :
print('不存在')
len函数
Python len() 方法返回对象(字符、列表、元组等)长度或项目个数。
tp = ('a','b','c','d')
print(len(tp))
字典
字典是另一种可变容器模型,且可存储任意类型对象。
字典的每个键值(key=>value)对用冒号(:)分割,每个对之间用逗号(,)分割,整个字典包括在花括号({})中 。
键必须是唯一的,但值则不必。
值可以取任何数据类型,但键必须是不可变的,如字符串,数字或元组。
声明字典两种方式:
dic1 = {}
dic2 = dict()
获取字典的元素:
dic3 = {
'name':'小明',
'age':'18',
# True代表男还是女 是你自己定义的
'sex':True,
'height':1.76,
'fond':['打游戏','学习','写代码','写博客']
}
print(dic3)
print('爱好:%s'%dic3['fond'])
修改字典的元素:
dic3 = {
'name': '小明',
'age': '18',
# True代表男还是女 是你自己定义的
'sex': True,
'height': 1.76,
'fond': ['打游戏', '学习', '写代码', '写博客']
}
# 有的话 修改;没有的话 则增加
dic3['age'] = 18
print(dic3['age'])
dic3['girlFriend'] = '奶茶妹'
print(dic3)
#删除girlFriend
dic3.pop('girlFriend')
print(dic3)
获取字典中的键和值:
dic3 = {
'name': '小明',
'age': '18',
'sex': True,
'height': 1.76,
'fond': ['打游戏', '学习', '写代码', '写博客']
}
print(dic3.keys())
print(dic3.values())
判断字典中的键是否存在:
dic3 = {
'name': '小明',
'age': '18',
'sex': True,
'height': 1.76,
'fond': ['打游戏', '学习', '写代码', '写博客']
}
if 'fonds' in dic3.keys():
print('fonds存在')
else:
print('fonds不存在')
判断字典中的值是否存在:
dic3 = {
'name': '小明',
'age': '18',
'sex': True,
'height': 1.76,
'fond': ['打游戏', '学习', '写代码', '写博客']
}
if ['打游戏', '学习', '写代码', '写博客'] in dic3.values():
print('存在')
else:
print('不存在')
获取key和value值:
有两种方法可以获取key和value值;
dic4 = {
'name' : '小兰',
'age': '12',
'fond':'美食',
'info':{
'description':'很好的一个人',
'phone':'123123123',
'frend':[
{
'frend_name':'小明',
'frend_age':12
},
{
'frend_name':'小王',
'frend_age':12
},
{
'frend_name':'小张',
'frend_age':12
},
{
'frend_name':'小沈',
'frend_age':12
}
]
}
}
# 获取key和value值的第一种方法
for key in dic4:
value = dic4[key]
print(key,value)
# 获取key和value的第二种方法 (推荐这种写法)
for key , value in dic4.items():
print(key,value)
如果获取一个没有的key会报错。
获取key对应的值 如果没有key 则赋予一个默认值
# 值1:key
# 值2:默认值
value = dic4.get('class','三年级二班')
print(value)