列表

list:基础数据类型之一,可以索引,切片,步长,切片+步长可以增删改查,可迭代,可嵌套字典,元组,列表

一、索引,切片,步长

list01 = [1,2,3,'eric','west']

1.索引

fz = list01[0]

print(fz)

result:1

反向查找

print(list01.index(1))

result:2

2.切片

fz = list01[:3]

result:[1,2,3]

fz = list01[1:4]

result:[2,3,'eric']

3.步长

fz = list01[::2]

result:[1,3,'west']

fz = list01[1:4:2]

result:[2,'eric']

fz = list01[-1:1:-2]

result:['west',3]

二、增删改查

1.增

append:再尾部增加单个元素

list01.append('xixi')

result:[1, 2, 3, 'eric', 'west', 'xixi']

extend:迭代增加

list01.extend('xixi')

result:[1, 2, 3, 'eric', 'west', 'x', 'i', 'x', 'i']

list01.extend(['xixi','love'])

result:[1, 2, 3, 'eric', 'west', 'xixi', 'love']

insert:指定位置增加元素

list.insert(1,'abby')

2.删

pop:按照索引删除元素,并且有返回值

list01.pop(1)

result:[1, 3, 'eric', 'west']

remove:按照元素删除

list01.remove('eric')

result:[1,2,3,'west']

clear:清空

list01.clear()

result:[]

del:可以按照索引删除,切片删除,内存级别删除整个列表

del list01[0]

result:[2,3,'eric','west']

del list01[3:]

result:[1,2,3]

del list01

result:name 'list01' is not defined

3.改

按索引改

list[2]='abby'

result:[1, 2, 'abby', 'eric', 'west']

按切片改

list[:2]='xi'

result:['x', 'i', 3, 'eric', 'west']

按切片+步长一一对应

list01[:3:2]='xi'

result:['x', 2, 'i', 'eric', 'west']

4.查

for循环

for i in list01:

  print(i)

三、其他方法

查询总个数:print(len(list01))

查询某个元素出现次数:print(list01.count('eric'))

排序:

sort(从小到大):

list02 = [2,3,4,9,8,5,6,7]

list02.sort()

print(list02)

result:[2, 3, 4, 5, 6, 7, 8, 9]

sort(从大到小):

list02.sort(reverse=True)

print(list02)

result:[9, 8, 7, 6, 5, 4, 3, 2]

反转:

list02.reverse()

print(list02)

result:[7, 6, 5, 8, 9, 4, 3, 2]

 

列表与列表可以相加

l1 = [1,2,3]

l2 = ['alex','wusir']

l3 = l1 + l2

print(l3)

result:[1, 2, 3, 'alex', 'wusir']

 

应用演示:

l1 = [11, 22, 33, 44, 55, 66, 77, 88]

将列表中索引为奇数的元素,全部删除

方法一:切片+步长删除

del l1[1::2]

print(l1)

result:[11, 33, 55, 77]

方法二:

for i in range(len(l1)):

  print(l1)

  print(i)

  if i % 2 == 1:

    l1.pop(i)

    print(l1)

    print(i)

print(l1)

result:pop index out of range

在循环一个列表时,如果对列表中的某些元素进行删除,那么此元素后面的所有元素就会向前进一位,他们的索引就会发生变化。

所以,在循环一个列表时,最好不要对此列表进行改变大小(增删)的操作。

 

元组

tuple:基础数据类型之一,可以索引,切片,步长,切片+步长,只可以查,可迭代,可嵌套字典,元组,列表,嵌套列表字典可以修改

list01 = (1,2,3,'eric','west')

一、索引,切片,步长

1.索引

print(list01[0])

result:1

反向查找:

print(list01.index(1))

result:0

2.切片

fz=list01[1:3]

result:(2,3)

3.切片+步长

fz=list01[1::2]

result:(2,'eric')

二、查

for循环

for i  in list01:

  print(i)

 

其他:

字符串:

upper lower 变大写,变小写

strip:默认去除去除首位的空格,换行符,制表符,lstrip()去首部,rstrip()去尾部,strip(元素)可指定去除元素

startswith endswith 判断以...开头,结尾 一般用于if

find 通过元素找索引,找不到返回-1

replace 替换 (old,new,次数)

captilize() 首字母大写,其余的变成小写。

center():居中可设置填充物。

swapcase():大小写反转

isalnum(): 全部由字母或数字组成。

isalpha():全部由字母组成

isdigit(): 判断字符串是否全部有数字组成

len(): 统计字符串的字符的个数

title: 每个非字母隔开的内容的首字母大写

split:

'alex wusir'.split() ---> ['alex','wusir']:可以指定分隔符。

' alex wusir'.split('') ---> ['','alex','wusir']:可以指定分割次数。

join:'_'.join(interable)

 

如果元组中只有一个数据,且没有逗号,则该 '元组' 与里面的数据的数据类型相同。

tu1 = (1,)

tu2 = ('alex')

tu3 = ([1,2,3],)

print(tu1,type(tu1))

print(tu2,type(tu2))

print(tu3,type(tu3))

result:

(1,) <class 'tuple'>
alex <class 'str'>
([1, 2, 3],) <class 'tuple'>