python基础补漏-数据类型3

3,列表

3.1定义

有序可变的容器,可以存放多个不同类型的元素

独有功能

1,追加

list.append("element")

2,批量追加

list.extend(l1) #l1列表中的值逐一追加到list列表中

3,插入

list.insert("索引位置", element)    

4,删除 (慎用)

list.remove("element")

del 语句能进行切片删除;且能删除变量。

clear,是毁灭性的删除,会将列表全部清空

remove,指定元素删除,只能删除第一个同名的元素。

pop ,指定索引删除,只能删除一个,且默认不写索引,有和append相反的功能。

5,在原列表中根据索引踢出某个元素 (根据索引位置踢出)

list.pop(index)
​
a = [element]
b = a.pop(0)
print(b) = element
print(a) = []

6,清空原列表

list.clear()

7,根据值获取索引(从左到右找到第一个删除) 【慎用,找不到报错】

list.index("element")

8,排序

list.sort() #从小到大排序
list.sort(reverse=True) #从大到小排序
​
#sort排序原理:将列表的元素字符串转换为unicode编码,再根据码表来排序

9,反转原列表

list.reverse()

公共功能

1,相加

list = [1,2,3]
list1 = [4,5,6]
list2 = list + list1

print(list2) 
#list2 = [1,2,3,4,5,6]

2,相乘

a = [1]
b = a * 2

print(b)    
# b = [1,1]

3,运算符in包含

a = [1,2,3,4,5]
if 1 in a:
    pass

4,获取长度

len(list)

5,索引

a = ["1","2","3"]

#读
print(a[0])
#a [0] = "1"

#改
a[0] = "4"

print(a)
# a = ["4","2","3"]
​
#删
list = ["1", "2", "3"]
#删除以后不能取值
del list[1]
list.remove("1")
​
#可以取出删掉的值
a = list.pop(2)

print(a)
 

6,切片

list = ["1", "2", "3"]
#将前两个元素替换
list[0:2] = [4, 5, 6]

print(list)
# list = [4, 5, 6, '3']

7,步长

#实现列表的翻转
list = ["1", "2", "3"]
list[::-1]
#相当于list.reverse()

8,for循环

list = ["1a", "1c", "2a", "1b", "2b", "1d", "2c", "2d"]
​
for item in list:
    if item.startswith("1"):
        list.remove(item)
print(list)
#list = ['1c', '2a', '2b', '2c', '2d']

#没删干净的原因是在循环过程中,列表元素的索引位置会改变
#但是for循环中的索引还是正常0123来取值,改变索引位置的元素就不会被remove
#正确的处理方法,倒着处理
for index in range(len(list)-1, -1, -1):
    #先获取列表中的索引,按照倒序取出元素,再进行if判断循环,这样就不会有遗漏
item = list[index]
if item.startswith("1"):
    list.remove(item)
print(list)
#list = ['2a', '2b', '2c', '2d']xxxxxxxxxx 

list = ["1a", "1c", "2a", "1b", "2b", "1d", "2c", "2d"]
for item in list:    
    if item.startswith("1"):        
        list.remove(item)
        print(list)
        #list = ['1c', '2a', '2b', '2c', '2d']

        #没删干净的原因是在循环过程中,列表元素的索引位置会改变#但是for循环中的索引还是正常0123来取值,改变索引位置的元素就不会被remove#正确的处理方法,倒着处理for index in range(len(list)-1, -1, -1):    

#先获取列表中的索引,按照倒序取出元素,再进行if判断循环,这样就不会有遗漏    
item = list[index]    
if item.startswith("1"):       
   list.remove(item)
print(list)
#list = ['2a', '2b', '2c', '2d']

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值