python基础篇-list, dict, tuple
一、列表(list)
1. 列表的概念
列表(list):边界符号为中括号( [ ] ),元素可以为任意类型的数据,元素分隔符为英文逗号( , ),且有序。
list1 = ['小明',18,170]
2. 提取列表中的元素
偏移量:列表的元素是有固定顺序的,以此可以用数字表示元素在列表中的位置,这个表示列表中元素位置的数字就是偏移量。
可以用偏移量提取列表中的元素,如输出list1中的'小明':
注:列表中的第一个元素的偏移量应该是0
print(list1[0]) #即可输出元素 '小明'
3. 提取列表的子集
提取列表的子集时,需要用切片的方式,即在列表名称后的中括号中给出首位偏移量,且以英文冒号(‘:’)作为分割符。
list2 = [2,3,4,5,6,7,8] print(list2[:]) #[2,3,4,5,6,7,8] print(list2[2:4]) #[4,5] print(list2[2:]) #[4,5,6,7,8] print(list2[:4]) #[2,3,4,5]
切片取值原则:冒号(:)两边为空时,取值从头取到尾;左边界包含,右边界不包含。
4. 增、删、改
(1)需要向列表中增加元素时,使用append()实现。
list3 = [1,2] list3.append(3) #list3 = [1,2,3] list3.append(4,5) #Error;append()括号内只能有一个数据 list3.append([4,5]) #list3 = [1,2,3,[4,5]]
(2)需要向列表中删除元素时,使用del实现。
del list3[2] #list3 = [1,2,[4,5]]
del和list3之间没有“.”
(3)需要向列表中修改元素时,直接向该位置的元素重新赋值即可。
list3[0] = 10 #list3 = [10,2,[4,5]] list3[2][1] = 7 #list3 = [10,2,[4,7]]
二、字典(dict)
1. 字典的概念
字典(dictionary,dict):边界分隔符为大括号({ }),字典内的元素为无序的键值对(key:value),以英文逗号(,)为间隔符,key和value可以是任意类型的数据。
scores = { '小明':95, '小红':90, '小刚':90 } #key必须唯一。value可以重复
2. 提取字典中的值
与列表不同,提取字典中的值(value)时,需要使用键名(key)来提取。
如:提取并输出小红的成绩
print(scores['小红']) #90
3. 提取字典中的键名
4. 增、删、改
(1)需要向列表中增加元素时,直接给新的key赋值即可实现。
如:增加小美的成绩
scores['小美'] = 80 #scores = { '小明':95, '小红':90, '小刚':90, '小美':80 }
(2)需要向列表中删除元素时,使用del实现。
如:删除小明的成绩
del scores['小明'] #scores = { '小红':90, '小刚':90, '小美':85 }
(3)需要向列表中修改元素时,直接给需要修改的key赋值即可实现。
如:修改小刚的成绩为92
scores['小刚'] = 92 #scores = { '小红':90, '小刚':92, '小美':85 }
5. 遍历字典
(1)字典的遍历
scores = {'小红':90, '小刚':92, '小美':95} for key in scores: print(key + ':' + str(scores[key])) ###输出结果### 小红:90 小刚:92 小美:95
(2)遍历字典的键key
for key in scores.keys():print(key) ###输出结果### 小红 小刚 小美
(3)遍历字典的值value
for value in scores.values():print(value) ###输出结果### 90 92 95
(4)遍历字典的项item
for item in scores.items():print(item) ###输出结果### ('小红':90) ('小刚':92) ('小美':95)
5. 字典的排序
(1)列表的 .sort() 方法
Python中的字典是无序类型,没有自己的排序方法。但可以用列表的 .sort() 方法来进行排序。
我们首先需要把字典转化为列表,在进行排序。
d={'a':1,'c':3,'b':2} # 首先建一个字典d d.items() # 得到: dict_items([('a', 1), ('c', 3), ('b', 2)]) L=list(d.items()) # 得到列表: L=[('a', 1), ('c', 3), ('b', 2)] L.sort(key=lambda x:x[1],reverse=False) # 按列表中,每一个元组的第二个元素从小到大排序。 # x代表从L中遍历出的一个元组 print(L) # 得到: [('a', 1), ('b', 2), ('c', 3)] ———————————————— 版权声明:本文为CSDN博主「cxcxrs」的原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接及本声明。 原文链接:https://blog.csdn.net/cxcxrs/article/details/82459800
1. 上面的例子中最重要的一步就是:L=list(d.items())
2. 列表的L.sort()方法:L.sort(key=函数名,reverse=False/Ture)
3. 匿名函数lambda的格式:函数名=lambda [形参1,形参2,...]:,返回操作语句块产生的结果并绑定给函数名。
例如:key=lambda x:x[1]
x:相当于字典集合中的一个元组,x[1]:返回x中的第二个元素,即键值对元组中的值。
(2)sorted高阶函数
这种方法更为简洁,更为推荐。
d={'a':1,'c':3,'b':2} # 首先建一个字典d #d.items()返回的是: dict_items([('a', 1), ('c', 3), ('b', 2)]) d_order=sorted(d.items(),key=lambda x:x[1],reverse=False) # 按字典集合中,每一个元组的第二个元素排列。 # x相当于字典集合中遍历出来的一个元组。 print(d_order) # 得到: [('a', 1), ('b', 2), ('c', 3)] ———————————————— 版权声明:本文为CSDN博主「cxcxrs」的原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接及本声明。 原文链接:https://blog.csdn.net/cxcxrs/article/details/82459800
sorted高阶函数语法格式:sorted(可迭代对象,key=函数名,reverse=False/True)
作用:可迭代对象中,依次取出一个元素,该元素再按照key规定的排序依据进行排序。
可迭代对象:可依次取值的对象,例如:集合,序列(列表,字符串,元组),字典等。
key:列表排序的依据,一般可以自定义一个函数返回值的依据,再把函数名绑定给key。