Python:基础数据类型--列表

基础数据类型--列表

列表中的每个元素都分配一个数字 - 它的位置,或索引,第一个索引是0,第二个索引是1,依此类推。

  • 按照索引取值,与元素本身的数据类型一致。
  • 按照切片取值,取出来的是新列表。

列表:查

切边的方法与字符串相同 list[起始索引:结束索引:步长]

li = [1, (2, 3), 2, 3, 4, 5, 6,]
l1 = li[:3]
print(l1)
print(li[0],type(li[0]))         #按照索引取值,保持元素本身的数据类型
print(li[1],type(li[1]))      
l2 = li[:]              #按照切片取值,得到一个新列标
print(l2)

[1, (2, 3), 2]
1 <class 'int'>
(2, 3) <class 'tuple'>
[1, (2, 3), 2, 3, 4, 5, 6]

for循环查询。

l = ['WuSir', 'alex', 'OldBoy', 'barry']
for i in l:
    print(i)

WuSir
alex
OldBoy
barry

 列表:增

append() 在列表末尾追加指定的元素。

l = ['WuSir', 'alex', 'OldBoy', 'barry']
l.append('景女神')
l.append(1)
l.append([1, 2, 3])
print(l)

['WuSir', 'alex', 'OldBoy', 'barry', '景女神', 1, [1, 2, 3]]

insert() 在指定索引前插入元素。

l = ['WuSir', 'alex', 'OldBoy', 'barry']
l.insert(1, '葫芦')         #在索引为1的元素前插入'葫芦'
print(l)

['WuSir', '葫芦', 'alex', 'OldBoy', 'barry']

extend()  将一个可迭代对象中的单个元素拆分后,一次性追加末至列表尾,可迭代对象可以是字符串也可以列表。

l = ['WuSir', 'alex', 'OldBoy', 'barry']
l.extend([1, '2122', 56])            #将列表中的元素拆分后,追加至列表末尾
print(l)
l.extend('abc')              #将字符串拆分为单个字符,追加至列表末尾
print(l)

['WuSir', 'alex', 'OldBoy', 'barry', 1, '2122', 56]
['WuSir', 'alex', 'OldBoy', 'barry', 1, '2122', 56, 'a', 'b', 'c']

列表:删

pop()  按照索引删除,并返回被删除元素。

l = ['WuSir', 'alex', 'OldBoy', 'barry']
ret = l.pop(1)                        #保存返回值
print(ret)
print(l)

alex
['WuSir', 'OldBoy', 'barry']

remove() 按照元素删除。

l = ['WuSir', 'alex', 'OldBoy', 'barry']
l.remove('alex')
print(l)

['WuSir', 'OldBoy', 'barry']

clear()  清空列表。

l = ['WuSir', 'alex', 'OldBoy', 'barry']
l.clear()
print(l)

[]

del   1 删除列表。2,按照索引删除。3.可以按照切片去删除。

l = ['WuSir', 'alex', 'OldBoy', 'barry']
del l[1]
print(l)

del l[:1]
print(l)

del l
print(l)

['WuSir', 'OldBoy', 'barry']
['OldBoy', 'barry']
NameError: name 'l' is not defined

列表:改

按照索引改。

l = ['WuSir', 'alex', 'OldBoy', 'barry']
l[0] = '日天'
print(l)
l[2] = '老男孩'
print(l)

['日天', 'alex', 'OldBoy', 'barry']
['日天', 'alex', '老男孩', 'barry']

按照切片去改。   将一个可迭代对象中的单个元素拆分后,替换到指定区域

l = ['WuSir', 'alex', 'OldBoy', 'barry']
l[:3] = 'abc' #首相指定区域删除,然后将字符串拆分后,插入指定区域。 print(l) l[:3] = [11, 22, 33, 44] #列表相同。都是以最小元素进行拆分。 print(l) ['a', 'b', 'c', 'barry'] [11, 22, 33, 44, 'barry']
l = ['WuSir', 'alex', 'OldBoy', 'barry']
l[:3:2] = 'ab'                 #加上步长,需要一一对应。
print(l)

['a', 'alex', 'b', 'barry']

其他方法

l = ['WuSir', 'alex', 'OldBoy', 'barry']

print(len(l))              # 总个数
print(l.count('WuSir'))       # 某个元素出现的次数
l1 = [1, 9, 8, 4, 3, 2, 6,] l1.sort()               # 正序排序 print(l1)
l1.sort(reverse
=True) # 倒叙排序 print(l1)
l1.reverse()
# 翻转 print(l1) 4 1 [1, 2, 3, 4, 6, 8, 9] [9, 8, 6, 4, 3, 2, 1] [1, 2, 3, 4, 6, 8, 9]

坑:再循环一个列表时,不要改变列表的大小,这样会影响结果。

如果真在循环时删除,则需要重后往前删。

l1 = [11, 22, 33, 44, 55]
for i in range(len(l1)):
    if i % 2 == 1:
        del l1[i]
print(l1)

[11, 33, 44]

l1
= [11, 22, 33, 44, 55] for i in range(len(l1)-1,-1,-1): if i % 2 == 1: del l1[i] print(l1)
[
11, 33, 55]

基础数据类型--元组

元组与列表类似,不同之处在于元组的元素不能修改。元组使用小括号,列表使用方括号。

tu = (1, 2, 33, 'alex')
print(tu[1])              #查询索引为1的元素
print(tu[:-1])                      #通过切片会获得一个新的元组
for i in tu:    
    print(i)
    
2
(1, 2, 33)
1
2
33
alex

猜你喜欢

转载自www.cnblogs.com/bailo/p/9031307.html