Python老男孩 day12 列表的魔法

#通过list类创建的对象
#对象.方法() #li对象调用XX方法
#######################################灰魔法(List类中提供的方法)########################################
#参数
#1.原来值最后追加
li = [11, 22, 33, 44]
li.append(5)
li.append('aa')
li.append([1122,1234])
print(li)

运行结果:
[11, 22, 33, 44, 5, 'aa', [1122, 1234]]

#2.清空列表
li = [11, 22, 33, 44]
li.clear()
print(li)

运行结果:
[]

#3.拷贝,浅拷贝
li = [11, 22, 33, 44]
v = li.copy()
print(v)

运行结果:
[11, 22, 33, 44]


#4.计算元素出现的次数
li = [11, 22, 33,22, 44]
v = li.count(22)
print(v)

运行结果:
2

#5.扩展原来的列表,参数:可迭代对象
li = [11, 22, 33,22, 44]
li.extend([9898,'哈哈'])
print(li)

运行结果:
[11, 22, 33, 22, 44, 9898, '哈哈']


li = [11, 22, 33,22, 44]
li.extend('哈哈')
print(li)

运行结果:
[11, 22, 33, 22, 44, '哈', '哈']

#append与expend比较
li = [11, 22, 33,22, 44]
li.append([9898,'哈哈'])
print(li)

运行结果:
[11, 22, 33, 22, 44, [9898, '哈哈']]

#6.根据值获取当前值索引位置(左边优先)
li = [11, 22, 33,22, 44]
v=li.index(22)
print(v)

运行结果:
1

#2,4表示开始和结束位置
li = [11, 22, 33,22, 44]
v=li.index(22,2,4)
print(v)

运行结果:
3

#7.在指定索引位置插入元素
li = [11, 22, 33,22, 44]
li.insert(0,99)
print(li)

运行结果:
[99, 11, 22, 33, 22, 44]


#8.pop删除某个值(1.指定索引 2.不填则默认删除最后一个值),并获取删除的值
li = [11, 22, 33,22, 44]
v=li.pop()
print(li)
print(v)

运行结果:
[11, 22, 33, 22]
44

#填入索引值
li = [11, 22, 33,22, 44]
v=li.pop(1)
print(li)
print(v)

运行结果:
[11, 33, 22, 44]
22

#9.删除列表中的指定值,左边优先
li = [11, 22, 33,22, 44]
li.remove(22)
print(li)

运行结果:
[11, 33, 22, 44]

#PS:pop remove del li[0] del li[2:4] clear

#10.将当前列表进行翻转
li = [11, 22, 33,22, 44]
li.reverse()
print(li)

运行结果:
[44, 22, 33, 22, 11]

#11.列表的排序
li = [11, 22, 33,22, 44]
li.sort()
print(li)

运行结果:
[11, 22, 22, 33, 44]

li = [11, 22, 33, 22, 44]
li.sort(reverse=True)
print(li)

运行结果:
[44, 33, 22, 22, 11]


#######################################深灰魔法########################################
#列表格式:中括号括起来,逗号“,”分割每个元素
#列表可以嵌套任何类型:列表的元素可以是 数字,字符串,列表,布尔值。所有都能放进去
li=[1,12,'age',['哈哈',[19,10],'呵呵'],'alex',True]
#集合,内部放置任何东西

#索引取值
print(li[3])

#切片,切片结果也是列表
print(li[3:5])

#支持for,while循环
for item in li:
print(item)

#列表元素可以被修改,支持通过索引方式
li = [1, 12, 'age', ['哈哈', [19, 10], '呵呵'], 'alex', True]
li[1]=120
print(li)

运行结果:
[1, 120, 'age', ['哈哈', [19, 10], '呵呵'], 'alex', True]


li = [1, 12, 'age', ['哈哈', [19, 10], '呵呵'], 'alex', True]
li[1]=[11,22,33,44]
print(li)

运行结果:
[1, [11, 22, 33, 44], 'age', ['哈哈', [19, 10], '呵呵'], 'alex', True]

#列表元素修改,支持通过切片方式
li = [1, 12, 'age', ['哈哈', [19, 10], '呵呵'], 'alex', True]
li[1:3]=[22,33]
print(li)

运行结果:
[1, 22, 33, ['哈哈', [19, 10], '呵呵'], 'alex', True]


#删除,第一种方式
li = [1, 12, 'age', ['哈哈', [19, 10], '呵呵'], 'alex', True]
del li[1]
print(li)

运行结果:
[1, 'age', ['哈哈', [19, 10], '呵呵'], 'alex', True]


li = [1, 12, 'age', ['哈哈', [19, 10], '呵呵'], 'alex', True]
del li[2:6]
print(li)

运行结果:
[1, 12]

#in操作
li = [1, 12, 'age', ['哈哈', [19, 10], '呵呵'], 'alex', True]
v= 12 in li
print(v)

运行结果:
True

#***列表中的元素,以逗号分割为一个整体

#取li中的'19'
li = [1, 12, 'age', ['哈哈', ['19', 10], '呵呵'], 'alex', True]
v=li[3][1][0]
print(v)

运行结果:
19


#字符串转换列表
s='abcdefg'
new_li=li(s)
print(new_li)

运行结果:
['a', 'b', 'c', 'd', 'e', 'f', 'g']


#列表转换成字符串
#需要自己写for循环一个一个处理。条件:列表里既有数字又有字符串
li = [11, 22, 33, '123', 'alex']
s = ''
for i in li:
s = s + str(i)
print(s)

运行结果:
112233123alex

#如果列表里只有字符串,直接使用字符串的join方法
li = ['123', 'alex']
v=''.join(li)
print(v)

运行结果:
123alex

原文地址:https://www.cnblogs.com/zhuhemin/p/9079327.html