python列表类型

列表类型

一、列表(list)

如果现在有一个需求,我们需要存储一个人的爱好,用前面说的数据类型存储,毫无疑问只能用字符串存储,并且一个人的爱好可能是很多个,那么我们可以用空格将让他们分开。

hobbies = "read run girl"
print(hobbies)
输出:read run girl

我们一直在强调一件事情,存不是目的,目的是如何取,取一个人的爱好,用字符串来存,当取某一个爱好的时候,就会发现无从下手。因此需要换一个方式存储——列表。

1.1作用

可以存放多个值。并且是分开的。

1.2定义

在[]中括号中用逗号分隔任意类型的值

hobby = 'read'
hobby_list = [hobby,'run','girl']
print(id(hobby_list))
print(type(hobby_list))
print(hobby_list)

输出:
1716511330888
<class 'list'>
['read', 'run', 'girl']

1.3如何用

存不是目的,取才是目的。我们介绍列表索引取值的方法,牢牢记住索引序列从0开始。

hobby_list = ['read','run','girl']
#索引取值,取出第二个值
print(hobby_list[1])
输出:
run
hobby_list = ['read','run',['girl_name',18,'shanghai']]
#取出女孩年龄
print(hobby_list[2][1])
输出:
18


二、列表的内置方法

2.1优先掌握

  1. 按索引取值(正方向取+反方向取),既可以存,也可以取,也可以修改

    name_list = ['chen', 'jason', 'tank', 'sean']
    name_list[0] = 'chen handsom'
    print(name_list)
    print(name_list[0])
    name_list[1]='12345'#可以对列表内的元素进行修改
    print(name_list[1])
    
    
    ##输出:
    ['chen handsom', 'jason', 'tank', 'sean']
    chen handsom
    12345
    
  2. 切片(用法同字符串)

    name_list = ['chen', 'jason', 'tank', 'sean']
    print(name_list[0:3:2])
    #输出:
    ['chen', 'tank']
    
  3. 长度len

    name_list = ['chen', 'jason', 'tank', 'sean']
    print(len(name_list))
    #输出:
    4
    
  4. 成员运算in 或者 not in

    name_list = ['chen', 'jason', 'tank', 'sean']
    print('chen' in name_list)
    print('tank' not in name_list)
    #输出:
    True
    False
    
  5. 追加append,在列表后面添加元素

    name_list = ['chen', 'jason', 'tank', 'sean']
    name_list.append('aresb')
    print(name_list)
    #输出:
    ['chen', 'jason', 'tank', 'sean', 'aresb']
    
  6. 删除del

    name_list = ['chen', 'jason', 'tank', 'sean']
    del name_list[2]
    print(name_list)
    #输出:
    ['chen', 'jason', 'sean']
    
  7. 循环

    name_list = ['chen', 'jason', 'tank', 'sean']
    for i in name_list:
        print(i)
        
        
        
    #输出:
    chen
    jason
    tank
    sean
    

    2.2 需要掌握

    1. insert()

      #插入,指定位置插入
      name_list = ['chen', 'jason', 'tank', 'sean']
      name_list.insert(1,'handsome')#在索引1的位置插入handsome
      print(name_list)
      #输出:
      ['chen', 'handsome', 'jason', 'tank', 'sean']
      
    2. pop()

      #pop()默认删除最后一个元素,指定位置删除某一个元素
      name_list = ['chen', 'jason', 'tank', 'sean']
      name_list.pop(1)
      print(name_list)
      name_list.pop()
      print(name_list)
      #输出:
      ['chen', 'tank', 'sean']
      ['chen', 'tank']
      
  8. remove()

       #删除指定元素
       name_list = ['chen', 'jason', 'tank', 'sean']
       name_list.remove('chen')
       print(name_list)
       ##输出:
       ['jason', 'tank', 'sean']
       
       
    
  9. count() 对列表内的某一个元素进行计数

       ##对指定元素进行计数
       name_list = ['chen', 'jason', 'tank', 'sean']
       print(name_list.count('chen'))
       #输出:
       1
    
  10. index()

       ##寻找元素的位置
       name_list = ['chen', 'jason', 'tank', 'sean']
       
       print(name_list.index('jason'))
    
     print(hobby_list.index('play', 1, 3))# 索引1-3内有没有该值
       #输出:
       1
        False
    
  11. clear()

       #对列表进行清空
       name_list = ['chen', 'jason', 'tank', 'sean']
       name_list.clear()
       print(name_list)
       #输出:
       []
    
  12. copy()

       #复制
       name_list = ['chen', 'jason', 'tank', 'sean']
       print(name_list.copy())
       #输出:
       ['chen', 'jason', 'tank', 'sean']
       
    
  13. extend() 扩展列表

       ## 将另外一个列表的取出放进列表中
       name_list = ['chen', 'jason', 'tank', 'sean']
       name_list2 = ['chen python']
       name_list.extend(name_list2)
       print(name_list)
       #输出:
       ['chen', 'jason', 'tank', 'sean', 'chen python']
       
    
  14. reverse()

       #反序
       name_list = ['chen', 'jason', 'tank', 'sean']
       name_list.reverse()
       print(name_list)
       #输出:
       ['sean', 'tank', 'jason', 'chen']
       
    
  15. sort()

   #进行排序,元素必须是相同的类型
   name_list = ['chen', 'jason', 'tank', 'sean']
   name_list.sort()
   print(name_list)
   
   #输出:
   ['chen', 'jason', 'sean', 'tank']
   
   name_list = ['chen', 'jason', 'tank', 'sean']
   name_list.sort(reverse=True)
   print(name_list)
   #输出:
   ['tank', 'sean', 'jason', 'chen']
   
   
   
   
#sort与reverse()的使用,按从小到大
hobby_list = [['nick', 1000], ['jason', 500000], ['sean', 2000], ['tank', 10000]]

#1
hobby_list.sort(key=lambda i: i[1]) 
print(hobby_list)
#2
def func(i):
    return i[1] 
hobby_list.sort(key=func)
print(hobby_list)

#输出:
[['nick', 1000], ['sean', 2000], ['tank', 10000], ['jason', 500000]]
[['nick', 1000], ['sean', 2000], ['tank', 10000], ['jason', 500000]]
#按从大到小排序
hobby_list = [['nick', 1000], ['jason', 500000], ['sean', 2000], ['tank', 10000]]
#1
hobby_list.sort(key=lambda i: i[1], reverse=True)  #
print(hobby_list)
#2
def func(i):  
    return i[1] 
hobby_list.sort(key=func,reverse=True)
print(hobby_list)

#输出:
[['jason', 500000], ['tank', 10000], ['sean', 2000], ['nick', 1000]]
[['jason', 500000], ['tank', 10000], ['sean', 2000], ['nick', 1000]]

  1. 存多个值
  2. 无序
  3. 可变数据类型
posted @ 2019-07-30 15:40  豆瓣酱瓣豆  阅读(195)  评论(0编辑  收藏  举报