元组:
元组被称为只读列表,即数据可以被查询,但不能被修改,所以,字符串的切片操作同样适用于元组。例:(1,2,3)("a","b","c")!但是元组中的列表可以修改。
#元组内容不可修改,如下: i = ('大雄','王晓明',['小红','小刚','花花'],'你好') i[0] = '哆啦A梦' print(i) 报错:Traceback (most recent call last): File "G:/lod_boy_S9_Python/4Day/test.py", line 176, in <module> i[0] = '哆啦A梦' TypeError: 'tuple' object does not support item assignment #修改元组中列表里面的元素 可以成功 i = ('大雄','王晓明',['小红','小刚','花花'],'你好') i[2][0] = '哆啦A梦' print(i) # 输出:('大雄', '王晓明', ['哆啦A梦', '小刚', '花花'], '你好')
列表:
增:
#append 增加新数据到列表最后 li = ['alex','wusir','egon','女神','taibai'] li.append('lidongxu') print(li) #输出:['alex', 'wusir', 'egon', '女神', 'taibai', 'lidongxu'] #insert 增加新数据到列表指定位置(插入) li = ['alex', 'wusir', 'egon', '女神', 'taibai', 'lidongxu'] li.insert(2,'liuyi') print(li) #输出:['alex', 'wusir', 'liuyi', 'egon', '女神', 'taibai', 'lidongxu'] #extend 迭代添加 数据会被分解到最小元素 例:'小明' 会被分解为 '小', '明' li = ['alex', 'wusir', 'liuyi', 'egon', '女神', 'taibai', 'lidongxu'] li.extend('小明') print(li) #输出结果:['alex', 'wusir', 'liuyi', 'egon', '女神', 'taibai', 'lidongxu', '小', '明']
删:
#pop 有返回值 li = ['alex', 'wusir', 'liuyi', 'egon', '女神', 'taibai', 'lidongxu', '小', '明'] li.pop() #没有值 默认删除最后一个 print(li) #输出:['alex', 'wusir', 'liuyi', 'egon', '女神', 'taibai', 'lidongxu', '小'] #按照索引删除 li = ['alex', 'wusir', 'liuyi', 'egon', '女神', 'taibai', 'lidongxu', '小', '明'] name = li.pop(0) #按照索引删除 print(name,li) #输出:alex ['wusir', 'liuyi', 'egon', '女神', 'taibai', 'lidongxu', '小', '明'] #remove 按照元素删除 无返回值 li = ['alex', 'wusir', 'liuyi', 'egon', '女神', 'taibai', 'lidongxu', '小', '明'] li.remove('明') print(li) #clear 清空列表 li = ['alex', 'wusir', 'liuyi', 'egon', '女神', 'taibai', 'lidongxu', '小', '明'] li.clear() print(li)
#del删除列表 会报错 li = ['alex', 'wusir', 'liuyi', 'egon', '女神', 'taibai', 'lidongxu', '小', '明'] del.li print(li) #切片删除列表中某一部分 li = ['alex', 'wusir', 'liuyi', 'egon', '女神', 'taibai', 'lidongxu', '小', '明'] del li[0:3] print(li) #输出:['egon', '女神', 'taibai', 'lidongxu', '小', '明']
改:
#按照索引修改 li = ['alex', 'wusir', 'liuyi', 'egon', '女神', 'taibai', 'lidongxu', '小', '明'] li[0] = 'lidongxu' #按照索引修改 print(li) #输出:['lidongxu', 'wusir', 'liuyi', 'egon', '女神', 'taibai', 'lidongxu', '小', '明'] #会拆分到最小单元 li = ['alex', 'wusir', 'liuyi', 'egon', '女神', 'taibai', 'lidongxu', '小', '明'] li [0:2] = '你好啊' print(li) #输出:['你', '好', '啊', 'liuyi', 'egon', '女神', 'taibai', 'lidongxu', '小', '明'] #完整替换切片部分 li = ['alex', 'wusir', 'liuyi', 'egon', '女神', 'taibai', 'lidongxu', '小', '明'] li [0:2] = ['1。2。3'] print(li) #输出:['1。2。3', 'liuyi', 'egon', '女神', 'taibai', 'lidongxu', '小', '明']
查:
for循环 #按照索引数循环 li = ['alex', 'wusir', 'liuyi', 'egon', '女神', 'taibai', 'lidongxu', '小', '明'] for i in li : print(li) #输出: # ['alex', 'wusir', 'liuyi', 'egon', '女神', 'taibai', 'lidongxu', '小', '明'] # ['alex', 'wusir', 'liuyi', 'egon', '女神', 'taibai', 'lidongxu', '小', '明'] # ['alex', 'wusir', 'liuyi', 'egon', '女神', 'taibai', 'lidongxu', '小', '明'] # ['alex', 'wusir', 'liuyi', 'egon', '女神', 'taibai', 'lidongxu', '小', '明'] # ['alex', 'wusir', 'liuyi', 'egon', '女神', 'taibai', 'lidongxu', '小', '明'] # ['alex', 'wusir', 'liuyi', 'egon', '女神', 'taibai', 'lidongxu', '小', '明'] # ['alex', 'wusir', 'liuyi', 'egon', '女神', 'taibai', 'lidongxu', '小', '明'] # ['alex', 'wusir', 'liuyi', 'egon', '女神', 'taibai', 'lidongxu', '小', '明'] # ['alex', 'wusir', 'liuyi', 'egon', '女神', 'taibai', 'lidongxu', '小', '明'] #按照索引数循环打印出切片内容 li = ['alex', 'wusir', 'liuyi', 'egon', '女神', 'taibai', 'lidongxu', '小', '明'] for i in li : print(li[0:2]) # 输出: # ['alex', 'wusir'] # ['alex', 'wusir'] # ['alex', 'wusir'] # ['alex', 'wusir'] # ['alex', 'wusir'] # ['alex', 'wusir'] # ['alex', 'wusir'] # ['alex', 'wusir'] # ['alex', 'wusir'] len #打印列表长度 li = ['alex', 'wusir', 'liuyi', 'egon', '女神', 'taibai', 'lidongxu', '小', '明'] i = len(li) print(i) #输出:9 count #某一元素或字符串出现的次数 li = ['alex', 'wusir', 'liuyi', 'egon', '女神', 'taibai', 'lidongxu', '小', '明'] i = li.count('alex') print(i) #输出:1 PS:列表中只能查引号中的元素。 index #索引位置,,没有会报错。列表中只能用index li = ['alex', 'wusir', 'liuyi', 'egon', '女神', 'taibai', 'lidongxu', '小', '明'] print(li.index('wusir')) # 输出:1 sort #从小到大排序(升序) li = ['1', '3', '2', '6', '4', '5', '7', '9', '8'] li.sort() print(li) # # 输出:['1', '2', '3', '4', '5', '6', '7', '8', '9'] #从大到小排序(降序) li = ['1', '3', '2', '6', '4', '5', '7', '9', '8'] li.sort(reverse=True) print(li) # # 输出:['9', '8', '7', '6', '5', '4', '3', '2', '1'] reverse #列表整体反转 li = ['1', '3', '2', '6', '4', '5', '7', '9', '8'] li.reverse() print(li) # # 输出:['8', '9', '7', '5', '4', '6', '2', '3', '1']
列表的嵌套:
#打印列表中小列表的元素 li = ['alex', 'wusir', 'liuyi', '女神', 'taibai', ['8','3','lidongxu','1'],'小', '明'] print(li[5][2]) # 输出:lidongxu #替换某个元素的首字母大写 li = ['alex', 'wusir', 'liuyi', '女神', 'taibai', ['8','3','lidongxu','1'],'小', '明'] li [0] = li[0].capitalize() print(li) # 输出:['Alex', 'wusir', 'liuyi', '女神', 'taibai', ['8', '3', 'lidongxu', '1'], '小', '明']
其他操作:
join #衔接每个元素 ‘中的符号自定义’ s = ['lidongxu','yang'] sum = '_'.join(s) #衔接每个元素 ‘中的符号自定义’ print(sum) # 输出结果:lidongxu_yang rang 只存数字的列表,同样顾头不顾尾 for i in range(3,10) : print(i) #输出:3.....9 for i in range(10) : print(i) #输出结果:0......9 for i in range(0,10,4) : print(i) #输出:0 3 6 9 PS:如果步长为2 输出为:0 2 4 6 8 步长为4 输出为:0 4 8 #反响 for i in range(10,0,-4) : print(i) #输出:10 8 6 4 2 步长为-3 输出为:10 7 4 1 步长为4 输出为:10 6 2