首页 > 其他 > 详细

列表的操作方法

时间:2019-09-03 12:10:08      阅读:79      评论:0      收藏:0      [点我收藏+]

一、列表

列表是python中的基础数据类型之一,其他语言中也有类似于列表的数据类型,比如js中叫数组,他是以[]括起来,每个元素以逗号隔开,而且他里面可以存放各种数据类型比如:

li = [‘alex’,123,Ture,(1,2,3,’wusir’),[1,2,3,’小明’,],{‘name’:’alex’}]

列表相比于字符串,不仅可以储存不同的数据类型,而且可以储存大量数据,32位python的限制是 536870912 个元素,64位python的限制是 1152921504606846975 个元素。而且列表是有序的,有索引值,可切片,方便取值。

增:

技术分享图片
1 s = [alex,wusir,taibai]
2 # append 追加
3 s.append(henry)
4 # insert 插入
5 s.insert(1,henry)
6 # extend 迭代追加
7 s.extend(henry)
8 s.extend([oldboy,girl])
View Code

删:

技术分享图片
 1 s = [alex,wusir,taibai,10,11]
 2 pop 按照索引删除,会将删除的元素作为返回值(默认删除最后一个)
 3 s.pop(1)
 4 remove 按照元素删除
 5 s.remove(wusir)
 6 clear 清空列表
 7 s.clear()
 8 del
 9 按照索引删除
10 del s[1]
11 按照切片删除
12 del s[1:2]
13 删除整个列表
14 del s
View Code

 

改:

技术分享图片
1 s = [alex,wusir,taibai,10,11]
2 切片改
3 s[:1] = asdf
4 切片加步长改 必须一一对应
5 s[::2] = [a,b,c]
View Code

查:

技术分享图片
1 按照索引 按照切片 加步长查询
2 for 循环查询
3 s = [alex,wusir,taibai,10,11]print(s)
View Code

列表的其他操作:

技术分享图片
1 获取列表的长度              len()
2 计算某个元素出现的次数   conut
3 通过元素查找索引,找到第一个就返回,找不到就报错
4 从小到大排序sort(reverse = False) 当reverse = True时从大到小
5 反转用                        reverse
6 查找某个元素的索引用    index  找到第一个就返回,找不到报错
View Code

作业:

1.请?代码实现:   li = ["alex", "wusir", "taibai"] 利?下划线将列表的每?个元素拼接成字符串"alex_wusir_taibai"
 
2.利?for循环和range打印出下?列表的索引。
 
li = ["alex", "WuSir", "ritian", "barry", "wenzhou"]
 
3.利?for循环和range找出100以内所有的偶数并将这些偶数插?到?个新列表中。
 
4.利?for循环和range 找出50以内能被3整除的数,并将这些数插?到?个新列表中。
 
5.利?for循环和range从100~1,倒序打印。
 
6.利?for循环和range从100~10,倒序将所有的偶数添加到?个新列表中,然后对列 表的元素进?筛选,将能被4整除的数留下来。
 
7.利?for循环和range,将1-30的数字?次添加到?个列表中,并循环这个列表,将 能被3整除的数改成*8.查找列表li中的元素,移除每个元素的空格,并找出以"A"或者"a"开头,并以"c"结尾 的所有元素,并添加到?个新列表中,后循环打印这个新列表。 li = ["TaiBai ", "alexC", "AbC ", "egon", " riTiAn", "WuSir", "  aqc"]
 
9.开发敏感词语过滤程序,提示?户输?评论内容,如果?户输?的内容中包含特殊的 字符: 敏感词列表 li = ["苍?师", "东京热", "武藤兰", "波多野结?"] 则将?户输?的内容中的敏感词汇替换成等?度的*(苍?师就替换***),并添加到? 个列表中;如果?户输?的内容没有敏感词汇,则直接添加到上述的列表中。

答案:

第一题
li = ["alex", "wusir", "taibai"]
up = _.join(li)
print(up)
第二题
li = ["alex", "WuSir", "ritian", "barry", "wenzhou"]
for i in range(len(li)):
    print(i,li[i])
第三题
lis1 = []
for i in range(2,100,2):
    # print(i)
    lis1.append(i)
print(lis1)
第四题
lis2 = []
for i in range(50):
    if i % 3 == 0:
        lis2.append(i)
print(lis2)
第五题
for i in range(100,0,-1):
    print(i)
第六题
lis3 = []
for i in range(100,11,-1):
    if i % 2 == 0:
        lis3.append(i)
    for v in lis3:
        if v % 4 != 0:
            lis3.remove(v)
print(lis3)
第七题
lis4 = []
for i in range(1,31):
    lis4.append(i)
for v in lis4:
    if v % 3 == 0:
        lis4[v-1] = *
print(lis4)
第八题
lis = []
li = ["TaiBai ", "alexC", "AbC ", "egon", " riTiAn", "WuSir", "  aqc"]
for i in li:
    i = i.strip()
    if i.startswith(A) and i.endswith(c):
        lis.append(i)
    elif i.startswith(a) and i.endswith(c):
        lis.append(i)
for v in lis:
    print(v)
第九题
li = [苍老师,武藤兰,波多野结衣,东京热]
flag = []
comment = input(请输入)
for name in li:
    if name in comment:
        comment = comment.replace(name,len(name)**)
flag.append(comment)
print(flag)

重点:

技术分享图片
 1 """
 2 利?f or循环和range从100~10,倒序将所有的偶数添加到?个新列表中,然后对列
 3 表的元素进?筛选,将能被4整除的数留下来。
 4 """
 5 
 6 lst = []
 7 for x in range(100,9,-1):
 8     if x % 2 == 0:
 9         lst.append(x)
10 # 使用del完成
11 # 从前往后遍历列表,如果删除列表中的元素,会有漏删元素的风险。
12 # 解决方案:从后往前遍历
13 index = len(lst) - 1
14 while index >= 0:
15     if lst[index] % 4 != 0:
16         del lst[index]
17     index -= 1
18 print(lst)
View Code

 

列表的操作方法

原文:https://www.cnblogs.com/NumerOne/p/11452024.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!