python list列表

list 列表

列表内可以存放任何类型的数据(整形-int、字符串-str、元组-tuple、列表-list、字典-dict等)

# 假装原先列表为这样

li = ["aa", "bb", "cc", "dd", 11, 22, 33, 44, "aa"]
append 向后追加元素
#1、向后追加元素  - (append中不会解译里面的元素,会将其当作一个整体添加进原先的列表(list)中)

li.append(["张国荣", "林正英"])
print(li)
>> ['aa', 'bb', 'cc', 'dd', 11, 22, 33, 44, 'aa', ['张国荣', '林正英']]

li.append("僵尸先生")
print(li)
>> ['aa', 'bb', 'cc', 'dd', 11, 22, 33, 44, 'aa''僵尸先生']
extend 扩展元素

我用的地方:有多个不同的列表,我最后只需要一个完整的列表,

#2、扩展元素  - (extend会解译你给的元素,再整合进你原先的列表中)
# extend方法里可以放任何可迭代的对象(你能用for循环打印的都可以),所以可以扩展列表(oth_li)、元组(oth_tup)、字符串(oth_str)等
# XX.extend(可迭代对象)

oth_li = ["张国荣", "林正英"]
li.extend(oth_li)
print(li)
>> ['aa', 'bb', 'cc', 'dd', 11, 22, 33, 44, 'aa', '张国荣', '林正英']

oth_tup = ("僵尸道长", "风月")
li.extend(oth_tup)
print(li)
>> ['aa', 'bb', 'cc', 'dd', 11, 22, 33, 44, 'aa', '僵尸道长', '风月']

oth_str = "鬼魔尸"
li.extend(oth_str)
print(li)
>> ['aa', 'bb', 'cc', 'dd', 11, 22, 33, 44, 'aa', '鬼', '魔', '尸']
insert 元素插入指定的位置
#3、将元素插入指定的位置

li.insert(1, "幽冥诡匠")
print(li)
>> ['aa', '幽冥诡匠', 'bb', 'cc', 'dd', 11, 22, 33, 44, 'aa']
index 查看元素的位置
#4、查看元素的位置,没有则报错
# XX.index(你要查询的元素, 起始位置, 结束位置)

# 查询“aa”在哪个位置,默认返回出现第一次的位置
index_nu = li.index("aa")
print(index_nu)
>> 0

# 查询“aa”在哪个位置,且从索引为1向后查
index_nu = li.index("aa", 1)
print(index_nu)
>> 8

# 查询“aa”在哪个位置,且从索引为1到4中查找
index_nu = li.index("aa", 1, 4)
print(index_nu)
>> 会报错 - ValueError: 'aa' is not in list
pop 返回并删除某个元素

我用的地方:要处理一个列表中的数据,我拿出来的数据要执行,执行完一个就要删除掉一个,直到最后没有数据要处理了。

# 5、返回并删除某个元素,没有则报错
# XX.pop(索引【没有默认删除最后一个】)

character = li.pop()
print(character)
print(li)
>> aa
>> ['aa', 'bb', 'cc', 'dd', 11, 22, 33, 44]

character = li.pop(1)
print(character)
print(li)
>> bb
>> ['aa', 'cc', 'dd', 11, 22, 33, 44, 'aa']

character = li.pop(99)
print(character)
print(li)
>> 报错 IndexError: pop index out of range
remove 删除某个元素,不返回
# 6、指定删除某个元素,但不会有返回值

character = li.remove("aa")
print(character)
print(li)
>> None
>> ['bb', 'cc', 'dd', 11, 22, 33, 44, 'aa']
count 查看某个元素出现的次数

我用的地方:

1、count :爬虫爬取的很多数据追加到列表中,我想知道某个数据出现了多少次

2、Counter:我没有特意想知道某个数据出现多少次,但是想知道爬取了哪些数据,且各个数据出现的次数

# 7、查看某个元素(你要知道这个元素)出现的次数
# XX.count(元素)

nu = li.count("aa")
print(nu)
>> 2

# 还有个方法
# 这样我把列表变成字典,我就可以知道所有的元素【通过dict.keys()的方法】 
from collections import Counter

c = Counter(li)
c_dict = dict(c)
print(c_dict)
>> {'aa': 2, 'bb': 1, 'cc': 1, 'dd': 1, 11: 1, 22: 1, 33: 1, 44: 1}
排序 sort-正序 reverse-倒序
# 但是之前的列表有字符串和整数无法比较排序
li.sort()


# 倒序就是单纯的反过来
li.reverse()
print(li)
>> ['aa', 44, 33, 22, 11, 'dd', 'cc', 'bb', 'aa']
切片 截取指定的某段作为新的列表
# 截取某段作为新的列表
# li[开始索引:结束索引]

# 从索引0到索引2的数据
new_li = li[:3]
print(new_li)
>> ['aa', 'bb', 'cc']

# 从索引1到索引2的数据
new_li = li[1:3]
print(new_li)
>> ['bb', 'cc']

# 从索引1到后面的数据
new_li = li[1:]
print(new_li)
>> ['bb', 'cc', 'dd', 11, 22, 33, 44, 'aa']

# 从倒数第3个到最后 - 在需要最后几个但是不知道到底有多长的情况下就这样写
new_li = li[-3:]
print(new_li)
>> [33, 44, 'aa']
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值