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
    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👎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
name[1]='123'
TypeError: 'tuple' object does not support item assignment

posted @ 2017-04-03 20:01  三个字  阅读(330)  评论(0)    收藏  举报