python day04 列表增删改查

#列表

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

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

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

# li = ['alex',[1,2,3],'wusir','egon','女神','taibai']
# l1 = li[0]
# print(l1)
# l2 = li[1]
# print(l2)
# l3 = li[0:3]
# print(l3)

 

#增加 append insert
# li.append('日天')    #增加到最后
# li.append(1)
# print(li)

# while 1:
#     username = input('>>>')
#     if username.strip().upper() == 'Q':
#         break
#     else:
#         li.append(username)
# print(li)

# li.insert(4,'春哥')    #按照索引去增加
# print(li)

# li.extend('二哥')     ##迭代的去增
# li.extend([1,2,3])
# print(li)
#
li = ['taibai','alex','wusir','egon','女神',]
# name = li.pop(1)  #按照位置删除有返回值
# name = li.pop()  # 默认删除最后一个
# print(name,li)

# li.remove('taibai')  # 按元素去删除
# print(li)

# li.clear()  # 清空
# print(li)

# del li
# del li[0:2]  #按照位置去删除,也可切片删除没有返回值。
# print(li)
li = ['taibai','alex','wusir','egon','女神',]
#
# li[0] = '男兽'
# li[0] = [1,2,3]
#切片
# li[0:3] = '云姐plfdslkmgdfjglk'
# li[0:3] = [1,2,3,'春哥','咸鱼哥']
# print(li)

#公共方法:

li = ['taibai','alex','wusir','egon','女神',]
# l = len(li)
# print(l)

count(数)(方法统计某个元素在列表中出现的次数)
# num = li.count('taibai')
# print(num)

index(方法用于从列表中找出某个值第一个匹配项的索引位置)
# print(li.index('wusir'))

li = [1,5,4,7,6,2,3]
# #正向排序
# # li.sort()
# # print(li)
# #反向排序
# # li.sort(reverse=True)
# # print(li)
# #反转
# li.reverse()
# print(li)
#列表的嵌套
li = ['taibai','武藤兰','苑昊',['alex','egon',89],23]

# print(li[1][1])
# name = li[0].capitalize()
# # print(name)
# li[0] = name
# li[0] = li[0].capitalize()
# li[2] = '苑日天'
# print(li[2].replace('昊','ritian'))
# li[2] = li[2].replace('昊','ritian')
# li[3][0] = li[3][0].upper()
# print(li)

#元祖

#元祖 只读列表,可循环查询,可切片。
#儿子不能改,孙子可能可以改。

# tu = (1,2,3,'alex',[2,3,4,'taibai'],'egon')
# # print(tu[3])
# # print(tu[0:4])
# # for i in tu:
# #     print(i)
# tu[4][3]=tu[4][3].upper()
# print(tu)
# tu[4].append('sb')
# print(tu)
# s = 'alex'
# s1 = 'sb'.join(s)
# print(s1)
#列表转化成字符串  list -----> str    join
# li = ['taibai','alex','wusir','egon','女神',]
# s = '++++'.join(li)
#str ----->list   split()
# print(s)

range:指定范围,生成指定数字。

# for i in range(3,10):     # 步长
#     print(i)
# for i in range(10):
#     print(i)
# for i in range(0,10,3):
#     print(i)
# for i in range(10,0,-2):   # 反向步长
#     print(i)
# for i in range(10,-1,-2):
#     print(i)

enumerate:枚举,对于一个可迭代的(iterable)/可遍历的对象(如列表、字符串),enumerate将其组成一个索引序列,利用它可以同时获得索引和值。

li = ['alex','银角','女神','egon','太白']
for i in enumerate(li):
    print(i)
for index,name in enumerate(li,1):
    print(index,name)
for index, name in enumerate(li, 100):  # 起始位置默认是0,可更改
    print(index, name)    

for循环:

li = [1,2,3,5,'alex',[2,3,4,5,'taibai'],'afds']
# for i in li:
#     if type(i) == list:
#         for k in i:
#             print(k)
#     else:print(i)

for i in range(len(li)):
    if type(li[i]) == list:
        for j in li[i]:
            print(j)
    else:print(li[i])

 练习题:

# 1、查找列表li中的元素,移除每个元素的空格,
# 并找出以’A’或者’a’开头,并以’c’结尾的所有元素,
# 并添加到一个新列表中,最后循环打印这个新列表。
# li = [‘taibai ’,’alexC’,’AbC ’,’egon’,’ Ritian’,’ Wusir’,’  aqc’]

li = ['taibai ','alexC','AbC ','egon',' Ritian',' Wusir','  aqc']
b=[]
# for i in li:
#     s=i.strip()
#     if (s.startswith("A")or s.startswith("a"))and s.endswith("c"):
#         b.append(s)
# for x in b:
#     print(x)

# for i in li:
#     s=i.strip()
#     if s[0].upper() == 'A' and s[-1] == 'c':
#         b.append(s)
# for x in b:
#     print(x)

2、开发敏感词语过滤程序,提示用户输入评论内容,如果用户输入的内容中包含特殊的字符:
# 敏感词列表 li = ["苍老师","东京热",”武藤兰”,”波多野结衣”]
# 则将用户输入的内容中的敏感词汇替换成***,并添加到一个列表中;
# 如果用户输入的内容没有敏感词汇,则直接添加到上述的列表中。

# li=["苍老师","东京热","武藤兰","波多野结衣"]
# new_li= []
# info = input("评论")  
# for i in li:
#     if i in info:
#         l = len(i)
#         info=info.replace(i,'*'*l)
# new_li.append(info)
# print(new_li)

 

posted @ 2018-10-23 17:59  Null°  阅读(183)  评论(0编辑  收藏  举报