python 元组和列表

list

Python内置的一种数据类型是列表:list。list是一种有序的集合,可以随时添加和删除其中的元素。

  1. 切片查看

     names = ["#ZhangYang","4Guyun","Xiangpeng","ChenRonghua","XuLiangChen"]
     print(names)
     print(names[1:3])   ##切片;顾头不顾尾
     print(names[0:3])
     print(names[-1])
     print(names[-2:])
     print(names[:3])
     print(names[0],names[2])
     
     D:\python35\python.exe D:/PycharmProjects/zhuyouen/0403/names.py
     ['#ZhangYang', '4Guyun', 'Xiangpeng', 'ChenRonghua', 'XuLiangChen']
     ['4Guyun', 'Xiangpeng']
     ['#ZhangYang', '4Guyun', 'Xiangpeng']
     XuLiangChen
     ['ChenRonghua', 'XuLiangChen']
     ['#ZhangYang', '4Guyun', 'Xiangpeng']
     #ZhangYang Xiedi
    
  2. 追加

     names = ["#ZhangYang","4Guyun","Xiangpeng","ChenRonghua","XuLiangChen"]
     print(names)
     names.append('LeiHaidong')
     
     D:\python35\python.exe D:/PycharmProjects/zhuyouen/0403/names.py
     ['#ZhangYang', '4Guyun', 'Xiangpeng', 'ChenRonghua', 'XuLiangChen']
     ['#ZhangYang', '4Guyun', 'Xiangpeng', 'ChenRonghua', 'XuLiangChen', 'LeiHaidong']
    
  3. 插入

     names = ["#ZhangYang","4Guyun","Xiangpeng","ChenRonghua","XuLiangChen"]
     print(names)
     names.append('LeiHaidong')
     names.insert(1,"ChenRonghua")
     names.insert(3,"XingZhiyu")
    
     D:\python35\python.exe D:/PycharmProjects/zhuyouen/0403/names.py
     ['#ZhangYang', '4Guyun', 'Xiangpeng', 'ChenRonghua', 'XuLiangChen']
     ['#ZhangYang', 'ChenRonghua', '4Guyun', 'XingZhiyu', 'Xiangpeng', 'ChenRonghua', 'XuLiangChen', 'LeiHaidong']        
    
  4. 替换

     names = ["#ZhangYang","4Guyun","Xiangpeng","ChenRonghua","XuLiangChen"]
     print(names)
     names.append('LeiHaidong')
     names.insert(1,"ChenRonghua")
     names.insert(3,"XingZhiyu")
     names[2] ='Xiedi'
    
     D:\python35\python.exe D:/PycharmProjects/zhuyouen/0403/names.py
     ['#ZhangYang', '4Guyun', 'Xiangpeng', 'ChenRonghua', 'XuLiangChen']
     ['#ZhangYang', 'ChenRonghua', 'Xiedi', 'XingZhiyu', 'Xiangpeng', 'ChenRonghua', 'XuLiangChen', 'LeiHaidong']
    
  5. 删除

     方法一:
         names = ["#ZhangYang","4Guyun","Xiangpeng","ChenRonghua","XuLiangChen"]
         print(names)
         names.append('LeiHaidong')
         names.insert(1,"ChenRonghua")
         names.insert(3,"XingZhiyu")
         names[2] ='Xiedi'
         print(names)
     
         #delete(三种方法)
         names.remove('ChenRonghua')
         #del names[1]=names.pop(1)
         #names.pop(1)
    
         print(names)
    
         D:\python35\python.exe D:/PycharmProjects/zhuyouen/0403/names.py
         ['#ZhangYang', '4Guyun', 'Xiangpeng', 'ChenRonghua', 'XuLiangChen']
         ['#ZhangYang', 'ChenRonghua', 'Xiedi', 'XingZhiyu', 'Xiangpeng', 'ChenRonghua', 'XuLiangChen', 'LeiHaidong']
         ['#ZhangYang', 'Xiedi', 'XingZhiyu', 'Xiangpeng', 'ChenRonghua', 'XuLiangChen', 'LeiHaidong']
    
    
     方法二:
         names = ["#ZhangYang","4Guyun","Xiangpeng","ChenRonghua","XuLiangChen"]
         print(names)
         names.append('LeiHaidong')
         names.insert(1,"ChenRonghua")
         names.insert(3,"XingZhiyu")
         names[2] ='Xiedi'
         print(names)
     
         #delete(三种方法)
         #names.remove('ChenRonghua')
         #del names[1]=names.pop(1)
         del names[1]
         #names.pop(1)
    
         print(names)
     
         D:\python35\python.exe D:/PycharmProjects/zhuyouen/0403/names.py
         ['#ZhangYang', '4Guyun', 'Xiangpeng', 'ChenRonghua', 'XuLiangChen']
         ['#ZhangYang', 'ChenRonghua', 'Xiedi', 'XingZhiyu', 'Xiangpeng', 'ChenRonghua', 'XuLiangChen', 'LeiHaidong']
         ['#ZhangYang', 'Xiedi', 'XingZhiyu', 'Xiangpeng', 'ChenRonghua', 'XuLiangChen', 'LeiHaidong']
    
    
     方法三:
         names = ["#ZhangYang","4Guyun","Xiangpeng","ChenRonghua","XuLiangChen"]
         print(names)
         names.append('LeiHaidong')
         names.insert(1,"ChenRonghua")
         names.insert(3,"XingZhiyu")
         names[2] ='Xiedi'
         print(names)
     
         #delete(三种方法)
         #names.remove('ChenRonghua')
         #del names[1]=names.pop(1)
         #del names[1]
         names.pop(1)
    
         print(names)
     
         D:\python35\python.exe D:/PycharmProjects/zhuyouen/0403/names.py
         ['#ZhangYang', '4Guyun', 'Xiangpeng', 'ChenRonghua', 'XuLiangChen']
         ['#ZhangYang', 'ChenRonghua', 'Xiedi', 'XingZhiyu', 'Xiangpeng', 'ChenRonghua', 'XuLiangChen', 'LeiHaidong']
         ['#ZhangYang', 'Xiedi', 'XingZhiyu', 'Xiangpeng', 'ChenRonghua', 'XuLiangChen', 'LeiHaidong']              
    
  6. 查找

     names = ["#ZhangYang","4Guyun","Xiangpeng","ChenRonghua","XuLiangChen"]
     print(names)
     names.append('LeiHaidong')
     names.insert(1,"ChenRonghua")
     names.insert(3,"XingZhiyu")
     names[2] ='Xiedi'
     print(names)        
    
     
     print(names.index("Xiedi"))
     print(names[names.index("Xiedi")])
     
     D:\python35\python.exe D:/PycharmProjects/zhuyouen/0403/names.py
     ['#ZhangYang', '4Guyun', 'Xiangpeng', 'ChenRonghua', 'XuLiangChen']
     ['#ZhangYang', 'ChenRonghua', 'Xiedi', 'XingZhiyu', 'Xiangpeng', 'ChenRonghua', 'XuLiangChen', 'LeiHaidong']
     2
     Xiedi
    
  7. 个数

     names = ["#ZhangYang","4Guyun","Xiangpeng","ChenRonghua","XuLiangChen"]
     print(names)
     names.append('LeiHaidong')
     names.insert(1,"ChenRonghua")
     names.insert(3,"XingZhiyu")
     names[2] ='Xiedi'
     print(names)        
     
     print('ChenRonghua:',names.count("ChenRonghua"))
     
     D:\python35\python.exe D:/PycharmProjects/zhuyouen/0403/names.py
     ['#ZhangYang', '4Guyun', 'Xiangpeng', 'ChenRonghua', 'XuLiangChen']
     ['#ZhangYang', 'ChenRonghua', 'Xiedi', 'XingZhiyu', 'Xiangpeng', 'ChenRonghua', 'XuLiangChen', 'LeiHaidong']
     ChenRonghua: 2
    
  8. 清空

     names = ["#ZhangYang","4Guyun","Xiangpeng","ChenRonghua","XuLiangChen"]
     print(names)
     names.append('LeiHaidong')
     names.insert(1,"ChenRonghua")
     names.insert(3,"XingZhiyu")
     names[2] ='Xiedi'
     print(names)        
     
     names.clear()
     print(names)
     
     D:\python35\python.exe D:/PycharmProjects/zhuyouen/0403/names.py
     ['#ZhangYang', '4Guyun', 'Xiangpeng', 'ChenRonghua', 'XuLiangChen']
     ['#ZhangYang', 'ChenRonghua', 'Xiedi', 'XingZhiyu', 'Xiangpeng', 'ChenRonghua', 'XuLiangChen', 'LeiHaidong']
     []
    
  9. 顺序翻转和ASCII码排序

    names = ["#ZhangYang","4Guyun","Xiangpeng","ChenRonghua","XuLiangChen"]
    print(names)
    names.append('LeiHaidong')
    names.insert(1,"ChenRonghua")
    names.insert(3,"XingZhiyu")
    names[2] ='Xiedi'
    print(names)        
              
    names.reverse()   ##顺序翻转
    print(names)
    names.sort()    #按照ASCII顺序翻转
    print(names)   
    
    D:\python35\python.exe D:/PycharmProjects/zhuyouen/0403/names.py
    ['#ZhangYang', '4Guyun', 'Xiangpeng', 'ChenRonghua', 'XuLiangChen']
    ['#ZhangYang', 'ChenRonghua', 'Xiedi', 'XingZhiyu', 'Xiangpeng', 'ChenRonghua', 'XuLiangChen', 'LeiHaidong']
    ['LeiHaidong', 'XuLiangChen', 'ChenRonghua', 'Xiangpeng', 'XingZhiyu', 'Xiedi', 'ChenRonghua', '#ZhangYang']
    ['#ZhangYang', 'ChenRonghua', 'ChenRonghua', 'LeiHaidong', 'Xiangpeng', 'Xiedi', 'XingZhiyu', 'XuLiangChen']  
    
  10. 列表追加进列表

    names = ["#ZhangYang","4Guyun","Xiangpeng","ChenRonghua","XuLiangChen"]
    print(names)
    names.append('LeiHaidong')
    names.insert(1,"ChenRonghua")
    names.insert(3,"XingZhiyu")
    names[2] ='Xiedi'
    print(names)        
              
    names2 = [1,2,3,4]
    names.extend(names2)
    print(names,names2)
    
    D:\python35\python.exe D:/PycharmProjects/zhuyouen/0403/names.py
    ['#ZhangYang', '4Guyun', 'Xiangpeng', 'ChenRonghua', 'XuLiangChen']
    ['#ZhangYang', 'ChenRonghua', 'Xiedi', 'XingZhiyu', 'Xiangpeng', 'ChenRonghua', 'XuLiangChen', 'LeiHaidong']
    ['#ZhangYang', 'ChenRonghua', 'Xiedi', 'XingZhiyu', 'Xiangpeng', 'ChenRonghua', 'XuLiangChen', 'LeiHaidong', 1, 2, 3, 4] [1, 2, 3, 4]
    
  11. 删除列表

    names = ["#ZhangYang","4Guyun","Xiangpeng","ChenRonghua","XuLiangChen"]
    print(names)
    names.append('LeiHaidong')
    names.insert(1,"ChenRonghua")
    names.insert(3,"XingZhiyu")
    names[2] ='Xiedi'
    print(names)        
              
    names2 = [1,2,3,4]
    names.extend(names2)
    del names2
    print(names,names2)
    
    D:\python35\python.exe D:/PycharmProjects/zhuyouen/0403/names.py
    ['#ZhangYang', '4Guyun', 'Xiangpeng', 'ChenRonghua', 'XuLiangChen']
    Traceback (most recent call last):
    ['#ZhangYang', 'ChenRonghua', 'Xiedi', 'XingZhiyu', 'Xiangpeng', 'ChenRonghua', 'XuLiangChen', 'LeiHaidong']
      File "D:/PycharmProjects/zhuyouen/0403/names.py", line 35, in <module>
        print(names,names2)
    NameError: name 'names2' is not defined   ------->因为没有列表‘name2’,所以没有定义
    
  12. 切片查看

    方法一:
        names = ["#ZhangYang","4Guyun","Xiangpeng",['alex','jack'],"ChenRonghua","XuLiangChen"]
        for i in range(1,6,2):
            print(names[i])
        print()
        for i in names:
            print(i)
    	
        D:\python35\python.exe D:/PycharmProjects/zhuyouen/0403/names.py
        4Guyun
        ['alex', 'jack']
        XuLiangChen
    	
        #ZhangYang
        4Guyun
        Xiangpeng
        ['alex', 'jack']
        ChenRonghua
        XuLiangChen
    
    方法二:
        names = ["#ZhangYang","4Guyun","Xiangpeng",['alex','jack'],"ChenRonghua","XuLiangChen"]
        print(names)
        print(names[0:-1:2])
        print(names[::2])
        print(names[1::2]
    
        D:\python35\python.exe D:/PycharmProjects/zhuyouen/0403/names.py
        ['#ZhangYang', '4Guyun', 'Xiangpeng', ['alex', 'jack'], 'ChenRonghua', 'XuLiangChen']
        ['#ZhangYang', 'Xiangpeng', 'ChenRonghua']
        ['#ZhangYang', 'Xiangpeng', 'ChenRonghua']
        ['4Guyun', ['alex', 'jack'], 'XuLiangChen']
    
  13. 复制

    方法一:
        names = ["#ZhangYang","4Guyun","Xiangpeng",['alex','jack'],"ChenRonghua","XuLiangChen"]
        name2 = names.copy()
        print(names)
        print(name2)
        print()
        names[2] = "向鹏"
        names[3][0] = "ALEX"
        print(names)
        print(name2)            
    
        D:\python35\python.exe D:/PycharmProjects/zhuyouen/0403/names.py
        ['#ZhangYang', '4Guyun', 'Xiangpeng', ['alex', 'jack'], 'ChenRonghua', 'XuLiangChen']
        ['#ZhangYang', '4Guyun', 'Xiangpeng', ['alex', 'jack'], 'ChenRonghua', 'XuLiangChen']
    
        ['#ZhangYang', '4Guyun', '向鹏', ['ALEX', 'jack'], 'ChenRonghua', 'XuLiangChen']
        ['#ZhangYang', '4Guyun', 'Xiangpeng', ['ALEX', 'jack'], 'ChenRonghua', 'XuLiangChen']
    
    方法二:
        # author = "zhuyouen"
        import copy
        names = ["#ZhangYang","4Guyun","Xiangpeng",['alex','jack'],"ChenRonghua","XuLiangChen"]
        name2 = copy.copy(names)
        print(names)
        print(name2)
        print()
        names[2] = "向鹏"
        names[3][0] = "ALEX"
        print(names)
        print(name2)            
    
        D:\python35\python.exe D:/PycharmProjects/zhuyouen/0403/names.py
        ['#ZhangYang', '4Guyun', 'Xiangpeng', ['alex', 'jack'], 'ChenRonghua', 'XuLiangChen']
        ['#ZhangYang', '4Guyun', 'Xiangpeng', ['alex', 'jack'], 'ChenRonghua', 'XuLiangChen']
    
        ['#ZhangYang', '4Guyun', '向鹏', ['ALEX', 'jack'], 'ChenRonghua', 'XuLiangChen']
        ['#ZhangYang', '4Guyun', 'Xiangpeng', ['ALEX', 'jack'], 'ChenRonghua', 'XuLiangChen']
    
    方法三:
        # author = "zhuyouen"
        import copy
        names = ["#ZhangYang","4Guyun","Xiangpeng",['alex','jack'],"ChenRonghua","XuLiangChen"]
        name2 = copy.deepcopy(names)
        print(names)
        print(name2)
        print()
        names[2] = "向鹏"
        names[3][0] = "ALEX"
        print(names)
        print(name2)        
    
        D:\python35\python.exe D:/PycharmProjects/zhuyouen/0403/names.py
        ['#ZhangYang', '4Guyun', 'Xiangpeng', ['alex', 'jack'], 'ChenRonghua', 'XuLiangChen']
        ['#ZhangYang', '4Guyun', 'Xiangpeng', ['alex', 'jack'], 'ChenRonghua', 'XuLiangChen']
    
        ['#ZhangYang', '4Guyun', '向鹏', ['ALEX', 'jack'], 'ChenRonghua', 'XuLiangChen']
        ['#ZhangYang', '4Guyun', 'Xiangpeng', ['alex', 'jack'], 'ChenRonghua', 'XuLiangChen']
    
  14. 复制

    # author = "zhuyouen"
    ##浅copy
    person=['name',['saving',100]]
    
    '''
    p1=copy.copy(person)
    p2=person[:]
    p3=list(person)
    '''
    p1=person[:]
    p2=person[:]
    p1[0]='alex'
    p2[0]='fengjie'
    p1[1][1]=50
    
    print(p1)
    print(p2)
    

元组tuple

另一种有序列表叫元组:tuple。tuple和list非常类似,但是tuple一旦初始化就不能修改。

    # author = "zhuyouen"
    name=('alex','jack')
    name[1]='123'
    print(name)

    D:\python35\python.exe D:/PycharmProjects/zhuyouen/0404/tuple.py
    Traceback (most recent call last):
      File "D:/PycharmProjects/zhuyouen/0404/tuple.py", line 3, in <module>
        name[1]='123'
    TypeError: 'tuple' object does not support item assignment
posted @ 2017-04-03 20:01  三个字  阅读(318)  评论(0编辑  收藏  举报