列表
list在循环的时候不能删,因为会改变索引
ls = ['aaa', 'bbb', 'ccc', 'ddd'] for el in ls: print(el) ls.remove(el) print(ls)
结果:
aaa ccc ['bbb', 'ddd']
names = ["aa", 'bb', 'cc', 'dd', 'ee', 77] print(names) # ['aa', 'bb', 'cc', 'dd', 'ee', 77] print(names[0]) # aa print(names[-1]) # 77 print(names[1], names[4]) # bb ee print(names[:3]) # ['aa', 'bb', 'cc'] print(names[-2:]) # ['ee', 77]
names = ["aa", 'bb', 'cc', 'dd', 'ee', 77] print(names.index('cc')) # 2 查cc的位置 print(names[names.index('cc')]) # cc
插入
names = ["aa", 'bb', 'cc', 'dd', 'ee', 77] names.append('ff') # 往列表的最后插入元素 print(names) # ['aa', 'bb', 'cc', 'dd', 'ee', 77, 'ff'] names.insert(2, 'gg') # 往列表的指定位置插入元素 print(names) # ['aa', 'bb', 'gg', 'cc', 'dd', 'ee', 77, 'ff']
删除
names = ["aa", 'bb', 'cc', 'dd', 'ee', 77] print(names) # ['aa', 'bb', 'cc', 'dd', 'ee', 77]
names.pop() # 删除列表中的最后一个元素 print(names) # ['aa', 'bb', 'cc', 'dd', 'ee']
names.pop(2) # 删除列表中的第三个元素 print(names) # ['aa', 'bb', 'dd', 'ee']
names.remove('dd') # 删除列表中为dd的元素 print(names) # ['aa', 'bb', 'ee']
del names[1] # del names[1] =names.pop(1) print(names) # ['aa', 'ee']
names.clear() # 清除列表中的元素 print(names) # [] del names # 删除列表
names = ["aa", 'bb', 'cc', 'dd', 'ee', '77'] print(names) names.reverse() # 倒序排列 print(names) names.sort() # 排序,按符号,数字,大小写 print(names) name2 = ['ff', 'gg'] names.extend(name2) # 将name2合并到names中 print(names) names.insert(2, 'ee') print(names) print(names.count('ee')) # 查询有几个ee
结果:
['aa', 'bb', 'cc', 'dd', 'ee', '77'] ['77', 'ee', 'dd', 'cc', 'bb', 'aa'] ['77', 'aa', 'bb', 'cc', 'dd', 'ee'] ['77', 'aa', 'bb', 'cc', 'dd', 'ee', 'ff', 'gg'] ['77', 'aa', 'ee', 'bb', 'cc', 'dd', 'ee', 'ff', 'gg'] 2
如果数字不用引号括起来运行排序时错误,字符串和数字不能比较
names = ["aa", 'bb', ['zou', 'xx'], 'cc', 'dd', 'ee', '77'] print(names) print(names[0:-1:2]) print(names[::2])
结果:
['aa', 'bb', ['zou', 'xx'], 'cc', 'dd', 'ee', '77'] ['aa', ['zou', 'xx'], 'dd'] ['aa', ['zou', 'xx'], 'dd', '77']
元组
- 不可变的列表. 只读列表. 有索引和切片.
- 不可变的是它内部子元素. 如果子元素是列表. 列表中的元素是可以变的.
- 元组: 俗称不可变的列表.又被成为只读列表, 元组也是python的基本数据类型之一, 用小括号括起来, ⾥面可以放任何数据类型的数据, 查询可以. 循环也可以. 切片也可以. 但就是不能改.
- 关于不可变, 注意: 这里元组的不可变的意思是子元素不可变. 而子元素内部的子元素是可以变, 这取决于子元素是否是可变对象.
- 元组中如果只有一个元素. 一定要添加一个逗号, 否则就不是元组
- 元组也有count(), index(), len()等方法. 可以自己测试使⽤
tu = (1, "马化腾", ["胡辣汤", "疙瘩汤", "西红柿鸡蛋汤"]) tu[2].append("粘包米") # 元组本身没有变.变的是儿子中的内容 print(tu) # (1, '马化腾', ['胡辣汤', '疙瘩汤', '西红柿鸡蛋汤', '粘包米'])
元组里只有一个元素时,要加逗号
tu1 = (1,) # 需要添加一个逗号