Python数据类型-列表
li = [ 'runoob', 786 , 2.23, 'john', 70.2 ] 格式:列表名 = [元素1,元素2,元素3] 例子:tinyli = [123, 'john'] 注意:当列表里只有一个值时要加个逗号,习惯:a=[1,]
1、查
print(li) # 输出完整列表 == print li[:] print(li[0]) # 输出列表的第一个元素 运算:print(li[1-1]) = print(li[0]) print(li[1:3]) # 输出第二个至第三个的元素 print(li[2:]) # 输出从第三个开始至列表末尾的所有元素 print(li[:3]) # 打印第一个到第三个元素 print(tinyli * 2) # 输出列表两次 print(li + tinyli) # 打印组合的列表 print(li[:]) # 打印所有元素 print(li[1:]) # 打印第二个到最后 print(li[-1]) # 打印最后一个元素 print(li[-2]) # 打印倒数第二个元素 print(li[-2:]) # 打印倒数两个元素 print(li[1:-1]) # 打印第二个元素到倒数第二个 print(li[0:-1:2]) # 隔1个元素打印 方法1: print(li[::2]) # 方法2: print(li.index("john")) # 打印元素值的位置 格式:列表名.index(元素值),如果存在多个 john,则只能取第一个 john print([li.index("john")]) # 取元素位置,li[li.index("john")]:根据元素位置打印元素值 print(li[li.index("john")]) print(li.count("john")) # 打印列表中某个元素值重复的数量 格式:列表名.count(元素值) li.reverse() # 把列表中的元素的位置翻转 格式:列表名.reverse();再打印 print(li) li.sort() # 列表中的元素进行排序,按符号,数字,大写,小写 格式:列表名.sort();再打印;倒序:sort(reverse=True) print(li) # 注意,只能是相同的数据类型进行排序,列表里存在不同的数据类型,此方法会报错 b = sorted(li) # 方法2 print(b) # 同注意 print('786' in li) # 查找列表中是否存在指定元素值,注意数据类型 格式:元素值 in 列表名 # 返回布尔类型 true 或 false li10 = li * 10 # 重复列表 格式:新列表名 = 列表名1 * 次数 print(li10)
2、改
li[0] = 'tom' # 修改指定位置的元素值 格式:列表名[元素位置] = 新元素值 li[1:3] = ['hjc1', 'hjc2'] # 同时修改多个元素值 格式:列表名[元素位置:元素位置]=['元素值','元素值']
3、删
方法1:要知道位置
del li[3] # 删除指定位置的元素 格式:del 列表名[元素位置] del li # 直接删除 li 的这个变量
方法2:要知道元素值是什么,只能删一次,多次用循环 li.remove("mayun") # 删除列表中指定元素值 格式:列表名.remove(元素值)
方法3:括号内不加任何索引,默认删除最后一个元素,加,指定删除,并返回删除的值 lsit.pop() # 默认删除最后一个元素值 格式:列表名.pop()
li.clear() # 清空列表所有
4、增
li.insert(3,'111') # 指定位置插入一个新元素 格式:列表名.insert(位置,元素值) li.append('mayun') # 在最后添加一个元素 格式:列表名.append(元素值) li3 = li + li1 # 合并列表 格式:新列表名 = 列表名1 + 列表名2 li.extend(li1) # 把一个列表合并到另一个列表 格式:列表名1.extend(列表名2),相当于多个 append 多次添加 li = ['alex','hjc'] print('333'.join(li)) # 拼接 结果:alex333hjc
5、其他操作
# count:统计某个元素在列表中出现的次数 t = ['to', 'be', 'or', 'not', 'to', 'be'] print(t.count('to')) # 2 # extend:修改了被扩展的列表,而原始的连接操作(+)则不然,他会返回一个全新的列表 a = ['a', 'b', 'c'] b = ['1', '2', '3'] a.extend(b) print(a) # ['a', 'b', 'c', '1', '2', '3'] # a+b:两个列表合并成一个新的列表
# 循环取列元素: li = ['电脑', '鼠标垫', 'U盘', '汽车', ] for i in range(len(li)): print(i, li[i]) ''' 0 电脑 1 鼠标垫 2 U盘 3 汽车 ''' # 另一种写法: for u in enumerate(li, start=0): # 给每个元素额外添加一个数字 key:默认从0开始自增,可以设置 start 的默认值 print(u) ''' (0, '电脑') (1, '鼠标垫') (2, 'U盘') (3, '汽车') '''