美文网首页
列表list

列表list

作者: 星辰_1c3b | 来源:发表于2019-12-12 22:22 被阅读0次

注意:不要循环列表去删除列表元素,直接删除很容易报错

1.增:append,insert ,extend,都是没有返回值的,修改的是原有的列表

list1=['张三','李四','王五']
list1.append('老刘')    #没有返回值的,在原有列表最后增加
print(list1)
》》》》['张三', '李四', '王五', '老刘']
list1=['张三','李四','王五']
list1.insert(1,'老刘')    #将老刘插入在第几个位置,1就是在第二个位置,也是没有返回值的
print(list1)
》》》['张三', '老刘', '李四', '王五']
list1=['张三','李四','王五']
list1.extend('老刘')  #插入的对象是可迭代的,int类型则会报错,列表、字符串都可以,是以最小元素的形式插入在原有列表的最后
print(list1)
》》》['张三', '李四', '王五', '老', '刘']

2.删:pop、remove、clear、del

list1=['张三','李四','王五']
name=list1.pop()#默认剔除最后一个,但有返回值,也可以按下表进行删除,如:name=list1.pop(1)则删除李四
print(name,'\n',list1)
>>>
王五 
 ['张三', '李四']

list1=['张三','李四','王五']
list1.remove('李四')#移除某个值,只能是列表中的值,否则会报错,且无返回值
print(list1)
》》》['张三', '王五']

list1=['张三','李四','王五']
list1.clear()#清空列表,clear()不能输入值,直接清空内容,但是列表还是存在的
print(list1)
》》》[]

del list1#删除列表,从内存中删除,已经不存在这个列表
》》》
list1=['张三','李四','王五']
del list1[1:]#切片删除,只是第二个后面的全部
print(list1)
》》》['张三']

#注意:如果按照某一顺序删除列表的全部内容时,会报错,因为列表是可变的数据类型,所以每次删除之后,列表元素的索引都会变化
lis=[11,22,33,44,55,66]
for i in range(len(lis)):#range(len(lis))=[0,1,2,3,4,5],而且进入这个循环时就已经生成,不会变化的,所以在后续删除过程中,lis变化了,但是i对应的列表还是[0,1,2,3,4,5],所以最后会导致异常
    print(i)
    del lis[i]
    print(lis)
》》》
0
[22, 33, 44, 55, 66]#第一次循环是正常的
1
[22, 44, 55, 66]#第二次循环开始,lis已经开始边了
2
[22, 44, 66]#第三次变化更大
3
    del lis[i]  #最后已经超出了lis的范围
IndexError: list assignment index out of range

#如果要对列表进行删除,有规律的,可以采取切片,无规律的就需要用新列表来替代
lis=[11,22,33,44,55,66]#要将索引为偶数的元素取出来
#第一种方法
print(lis[::2])
》》》[11, 33, 55]

#第二种方法:
lis=[11,22,33,44,55,66]
lis1=[]
for i in range (len(lis)):
    if i%2==0:
        lis1.append(lis[i])
print(lis1)
》》》[11, 33, 55]

3.改

list1=['张三','李四','王五']
list1[1]="武鸣"#将某个值改为另一个值,使用索引即可
print(list1)
>>>['张三', '武鸣', '王五']

#切片修改
list1=['张三','李四','王五']
list1[0:2]="赵钱孙李"#将“张三”、“李四”切片出来,用“赵钱孙李”替换
print(list1)
》》》['赵', '钱', '孙', '李', '王五']

4.查

#用for循环进行查询,或者用索引查询
list1=['张三','李四','王五']
for i in list1:
    print(i)

>>>
张三
李四
王五

5.公共方法:

list1=['张三','李四','王五']

len(list1)#列表有多少个元素,长度

list1.count('张三')#返回值为“张三”出现的次数

list1.index('李四')#返回值为索引,找不到时报错,没有find方法

list1=['45','15','q','张三','李四','王五']
list1.sort()#排序,默认reverse=False,按照升序进行排序,且数字不能与字符串一起排序
#list1.sort(reverse=True),为倒序
print(list1)
》》》['15', '45', 'q', '张三', '李四', '王五']

list1=['45','15','q','张三','李四','王五']
list1.reverse()#反转
print(list1)
》》》['王五', '李四', '张三', 'q', '15', '45']

6.列表转换为字符串

l=['王五', '李四', '张三']
s1=''.join(l)#join就是将可迭代对象串联起来,''代表字符串,如+,-,%等等,最终结果是转换为字符串
print(s1)
>>>王五李四张三

相关文章

网友评论

      本文标题:列表list

      本文链接:https://www.haomeiwen.com/subject/lkkxnctx.html