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。

三、元组(tuple)

  1. 元组----不可更改的数据序列

  2. 提取元组中的元素----同列表

  3. 提取元组的子集----同列表

posted @ 2019-05-08 00:37  大树下的蚂蚁  阅读(174)  评论(0编辑  收藏  举报