列表内置方法及操作
一、类型转换
list(其他数据类型)
把其他数据类型转成列表
print(type(list('123')), list('123'))
# <class 'list'> ['1', '2', '3']
print(type(list({'name': 'jason', 'pwd': '123'})), list({'name': 'jason', 'pwd': '123'}))
# <class 'list'> ['name', 'pwd'] 只有键参与
二、需要掌握的方法
L1 = [1,2,3,4,5,6,7,8]
1、索引取值(正负数)
print(L1[0])
# 1,从左到右索引取数据值
print(l1[-1])
# 8,从右往左索引取数据值
2、切片操作
L1 = [1,2,3,4,5,6,7,8]
print(L1[0:5])
# [1, 2, 3, 4, 5],索引切割0到4的数据值
print(L1[:])
# [1, 2, 3, 4, 5, 6, 7, 8],不写数字就默认都要,相当于[],输出L1所有的值
3、间隔数、方向与字符串讲解操作一致
L1 = [1,2,3,4,5,6,7,8]
print(L1[::-1])
# [8, 7, 6, 5, 4, 3, 2, 1] 从右往左取值(全部),[::-1]只说明方向未规定范围
4、统计列表中数据值的个数
len()
L1 = [1,2,3,4,5,6,7,8]
print(len(L1))
# 8 统计列表中数据值的个数
5、数据值修改
L1 = [1,2,3,4,5,6,7,8]
L1[0] = 9
print(L1)
# [9, 2, 3, 4, 5, 6, 7, 8],通过索引将L1中的1改为9
6、列表添加数据值
- 尾部追加数据值
append()
L1 = [1,2,3,4,5,6,7,8]
L1.append('干饭')
print(L1)
# [1, 2, 3, 4, 5, 6, 7, 8, '干饭'],在列表尾部添加一个数据值
- 任意位置插入数据值
insert()
L1 = [1,2,3,4,5,6,7,8]
L1.insert(0, 'jason')
print(L1)
# ['jason', 1, 2, 3, 4, 5, 6, 7, 8],
#()内前面是索引,然后在索引的位置添加()内后面的数据值
L1.insert(1, [11, 22, 33, 44])
# [1, [11, 22, 33, 44], 2, 3, 4, 5, 6, 7, 8]
# 将[11, 22, 33, 44]插入L1索引1的位置
- 扩展列表,合并列表
extend()
ll1 = [11, 22, 33]
ll2 = [44, 55, 66]
print(ll1 + ll2)
# [11, 22, 33, 44, 55, 66],合并ll1 + ll2为一个列表
ll1.extend(ll2)
print(ll1)
# [11, 22, 33, 44, 55, 66],使用extend()将ll2合并到ll1中
for i in ll2:
ll1.append(i)
print(ll1)
#[11, 22, 33, 44, 55, 66],for循环+append()=extend()
7、删除列表数据
方法一:通用的删除关键字del
l1 = [11, 22, 33]
del l1[0]
print(l1)
# [22, 33],删除l1中索引0对应的数据
方法二:remove
l1 = [11, 22,444 ,33]
l1.remove(444)
print(l1)
# [11, 22, 33] 直接拿走l1里的444
方法三:pop
l1 = [11, 22, 5,33]
l1.pop(3)
print(l1)
#[11, 22, 5] ,拿走l1里索引3对应的数据值
l1.pop()
print(l1)
#[11, 22, 5],默认从尾部弹出数据值
8、排序
ss = [54, 99, 55, 76, 12, 43, 76, 88, 99, 100, 33]
sort()
ss.sort()
print(ss)
# [12, 33, 43, 54, 55, 76, 76, 88, 99, 99, 100]
# 使用sort()排序默认是升序
ss.sort(reverse=True)
print(ss)
#[100, 99, 99, 88, 76, 76, 55, 54, 43, 33, 12]
# 添加reverse=True逆转默认,将排序改为降序
9、统计列表中某个数据值出现的次数
l1 = [111,2222,333,4444,111,666]
print(l1.count(111))
# 2 ,统计l1中数据值111出现的次数
10、颠倒列表顺序
reverse()
l1 = [111,2222,333,4444,111,666]
l1.reverse()
print(l1)
# [666, 111, 4444, 333, 2222, 111]
#直接反过来打印列表l1
三、可变类型与不可变类型
- 可变类型:值改变,内存地址不变
- 不可变类型:值改变,内存地址肯定变
s1 = '$$jason$$'
l1 = [11, 22, 33]
s1.strip('$') # 使用strip('$')去掉s1的$
print(s1)
# $$jason$$,字符串是不可变类型,要用变量接收产生的新数据,没有进行此操作便无法去掉s1的$
res = s1.strip('$') # 设置新变量res接收产生的新数据
print(res) # jason ,已去掉$
ret = l1.append(44) # 设置新变量ret接收l1产生的新数据
print(l1) # [11, 22, 33, 44]
字符串是不可变类型,要用变量接收产生的新数据
a=[123123,123132,132132,132,]
a.append('aaa')
print(a)
#[123123, 123132, 132132, 132, 'aaa']
a=[123123,123132,132132,132,]
a=a.append('aaa')# 设置新变量a接收a产生的新数据
print(a)
# None
因为列表是可变类型,所以不需要再重新赋值。
标签:11,内置,22,33,l1,列表,L1,print,操作
From: https://www.cnblogs.com/zhiliaowang/p/16743452.html