day04 列表

1.写代码,有如下列表,按照要求实现每⼀个功能
li = ["alex", "WuSir", "ritian", "barry", "wenzhou"]
a. 计算列表的⻓度并输出
b. 列表中追加元素"seven",并输出添加后的列表
c. 请在列表的第1个位置插⼊元素"Tony",并输出添加后的列表
d. 请修改列表第2个位置的元素为"Kelly",并输出修改后的列表
e. 请将列表l2=[1,"a",3,4,"heart"]的每⼀个元素添加到列表li中,⼀⾏代码实现,不
允许循环添加。
f. 请将字符串s = "qwert"的每⼀个元素添加到列表li中,⼀⾏代码实现,不允许循
环添加。
g. 请删除列表中的元素"ritian",并输出添加后的列表
h. 请删除列表中的第2个元素,并输出删除的元素和删除元素后的列表
i. 请删除列表中的第2⾄4个元素,并输出删除元素后的列表
j. 请将列表所有得元素反转,并输出反转后的列表
k. 请计算出"alex"元素在列表li中出现的次数,并输出该次数。
"""
li = ["alex", "WuSir", "ritian", "barry", "wenzhou"]
"""
li = ["alex", "WuSir", "ritian", "barry", "wenzhou"]
print(len(li))
li.append('abc')
print(li)
li.insert(0,'Andy')
print(li)
li.insert(1,'Bob')
print(li)

# extend 把参数中的每个元素 打散 添加到当前列表中
li.extend([1,"a",3,4,"heart"])
print(li)

li.extend("qwert")
print(li)

li.pop(4)
print(li)

# 输出删除的元素
print(li.pop(1))
# 输出删除后的列表
print(li)


del li[1:5]
print(li)
li.reverse()  # change in place
print(li)


print(li.count('abc'))
View Code
2.写代码,有如下列表,利⽤切⽚实现每⼀个功能
li = [1, 3, 2, "a", 4, "b", 5,"c"]
a. 通过对li列表的切⽚形成新的列表l1,l1 = [1,3,2]
b. 通过对li列表的切⽚形成新的列表l2,l2 = ["a",4,"b"]
c. 通过对li列表的切⽚形成新的列表l3,l3 = ["1,2,4,5]
d. 通过对li列表的切⽚形成新的列表l4,l4 = [3,"a","b"]
e. 通过对li列表的切⽚形成新的列表l5,l5 = ["c"]
f. 通过对li列表的切⽚形成新的列表l6,l6 = ["b","a",3]'''
 li = [1, 3, 2, "a", 4, "b", 5,"c"]
l1 = li[:3]
print(l1)
l2 = li[3:6]     #长度  正好  序列多1
print(l2)
l3 = li[::2]
print(l3)
l4 = li[1:-1:2]
print(l4)
l5 = li[-1:]
#l5 = li[-1]
#-----> c
print(l5)
l6 = li[-3:0:-2]
print(l6)
View Code
3.写代码,有如下列表,按照要求实现每⼀个功能。
lis = [2, 3, "k", ["qwe", 20, ["k1", ["tt", 3, "1"]], 89], "ab", "adv"]
a. 将列表lis中的"tt"变成⼤写(⽤两种⽅式)。
b. 将列表中的数字3变成字符串"100"(⽤两种⽅式)。
c. 将列表中的字符串"1"变成数字101(⽤两种⽅式)。"""
lis = [2, 3, "k",
    [ "qwe", 20,
        [ "k1",
          [
              "tt", 3, "1"
          ]
        ],
      89
    ], "ab", "adv"
]
lis[3][2][1][0] =lis[3][2][1][0].upper()
lis[-3][-2][-1][-3]=lis[-3][-2][-1][-3].lower()

#  两种方法第二三题
lis = [2, 3, "k", ["qwe", 20, ["k1", ["tt", 3, "1"]], 89], "ab", "adv"]

# a. 将列表lis中的"tt"变成⼤写(⽤两种⽅式)。
# b. 将列表中的数字3变成字符串"100"(⽤两种⽅式)。
# 方法一:
print(lis[3][2][1][1])
lis[3][2][1][1] = '100'
print(lis)

# 方法二:
lis[3][2][1][1] = str(lis[3][2][1][1] + 97)
print(lis)
# c. 将列表中的字符串"1"变成数字101(⽤两种⽅式)。
View Code
4.请⽤代码实现:
li = ["alex", "wusir", "taibai"]
利⽤下划线将列表的每⼀个元素拼接成字符串"alex_wusir_taibai""""
不是太懂
li = ["alex", "wusir", "taibai"]

# 利⽤下划线将列表的每⼀个元素拼接成字符串"alex_wusir_taibai"
print('_'.join(li))
View Code
5.利⽤for循环和range打印出下⾯列表的索引。
li = ["alex", "WuSir", "ritian", "barry", "wenzhou"]
li = ["alex", "WuSir", "ritian", "barry", "wenzhou"]
for l in range(len(li)):
    print(l)
View Code
6.利⽤for循环和range找出100以内所有的偶数并将这些偶数插⼊到⼀个新列表中。
new_lis = []
for I in range(100):
    if I % 2 == 0:
        new_lis.append(I)
    else:
        pass
print(new_lis)
View Code
7.利⽤for循环和range 找出50以内能被3整除的数,并将这些数插⼊到⼀个新列表中。'''
new_lis = []
for I in range(50):
    if I % 3 == 0:
        new_lis.append(I)
    else:
        pass
print(new_lis)
View Code
8.利⽤for循环和range从100~1,倒序打印。
for I in range(100, 0 , -1 ):
    print(I ,end=' ')
print()
View Code
9.利⽤for循环和range从100~10,倒序将所有的偶数添加到⼀个新列表中,然后对列
表的元素进⾏筛选,将能被4整除的数留下来。

# 第9题的陷阱  列表的删除  会遗漏
# lst = [1,2,3,4]
# 从前往后删,如果删除列表中的元素,如果有连续两个
# 相同特性的 元素, 会有漏删的风险
# 解决方案 : 从后往前迭代
#1
new_lis1 = []
for I in range(100, 9 , -1 ): #   顾头不顾
    if I %2 ==0 :
        new_lis1.append(I)
        print(I ,end=' ')
b = []
for i in new_lis1:
    if i % 4 == 0:
        b.append(i)
print(b)
#2
new_lis1 = []
for I in range(100, 9 , -1 ): #   顾头不顾
     if I %2 ==0 :
        if I % 4==0:
            new_lis1.append(I)
            print(I ,end=' ')
# for x in lst:
#     if x%2 ==0 :
#         lst.remove(x)
# print(lst)

#3  
lst = [1,2,2,3,4]
index = len(lst) - 1
print("长度是:{}".format(len(lst)))
while index > 0:
    # for lst in lst:
    if  lst[index]%2 == 0:
        del lst[index]
    index -= 1
# 打印的变量好好看  别打印别的了
print(lst)
View Code
10.利⽤for循环和range,将1-30的数字⼀次添加到⼀个列表中,并循环这个列表,将
能被3整除的数改成*'''
print()
new_lis2 = []
for i in range(1, 31):  # 顾头不顾
    new_lis2.append(i)
print(new_lis2)
new_lis3 = []
for a in new_lis2:
    if a % 3 ==0:
        a ='*'
        new_lis3.append(a)
    else:
        new_lis3.append(a)
print(new_lis3)


#老师的
lst = []
for x in range(1,31):
    lst.append(x)

index = 0
while index < len(lst):
    if lst[index] % 3 == 0:
        lst[index] = '*'
    index += 1

print(lst)
View Code
'''11.查找列表li中的元素,移除每个元素的空格,并找出以"A"或者"a"开头,并以"c"结尾
的所有元素,并添加到⼀个新列表中,最后循环打印这个新列表。
if (s or s) and e:
li = ["TaiBai ", "alexC", "AbC ", "egon", " riTiAn", "WuSir", " aqc"]'''
li = ["TaiBai ", "alexC", "AbC ", "egon", " riTiAn", "WuSir", " aqc"]
print(li)
lili = []
lilili = []

for l in li:
    l = l.strip()
    # l = l.capitalize()
    print(li)
    print(l)
    # print(l)
    lili.append(l)
    print(lili)
    if  l.startswith('A')  and l.endswith('c'):
        lilili.append(l)
    if  l.startswith('a')  and l.endswith('c'):
        lilili.append(l)
print(lili)
print(lilili)
View Code
12.开发敏感词语过滤程序,提示⽤户输⼊评论内容,如果⽤户输⼊的内容中包含特殊的
字符:
敏感词列表 li = ["苍⽼师", "东京热", "武藤兰", "波多野结⾐"]
则将⽤户输⼊的内容中的敏感词汇替换成等⻓度的*(苍⽼师就替换***),并添加到⼀
个列表中;如果⽤户输⼊的内容没有敏感词汇,则直接添加到上述的列表中。'''
while True:
    pinglun = []
    neirong = input("请输入 评论内容:")
    print(type(neirong))

    li = ["苍老师", "东京热", "武藤兰", "波多野结⾐"]
    for lis in li:
        if lis in neirong:
            print(lis)
            pinglun.append(lis)
            neirong = neirong.replace(lis,'*'*len(lis))  # neirong = neirong.replace(lis,'*')
    print(pinglun)
    print(neirong)
View Code
13.有如下列表
li = [1, 3, 4, "alex", [3, 7, 8, "TaiBai"], 5, "RiTiAn"]
循环打印列表中的每个元素,遇到列表则再循环打印出它⾥⾯的元素。
我想要的结果是:
1
3
4
"alex"
3
7,
8
"taibai"
5
ritian'''
li = [1, 3, 4, "alex", [3, 7, 8, "TaiBai"], 5, "RiTiAn"]

for l in li:
    if type(l)==list:
        for lis in l :
            if type(lis) == str:
                lis = lis.lower()
                print(lis)
            else:
                print(lis)
    else:
        if type(l) == str:
            l = l.lower()
            print(l)
        else:
            print(l)
View Code

 

posted @ 2019-03-06 18:10  learnacode  阅读(279)  评论(0编辑  收藏  举报