习题1

有如下列表,按照要求实现每一个功能
li = ['alex', 'Wusir', 'ritian', 'barry', 'wenzhou']
计算列表的长度并输出
列表中追加元素'seven',并输出添加后的列表
请在列表的第1个位置插入元素'Tony',并输出添加后的列表
请修改列表第2个位置的元素为'Kelly',并输出修改后的列表
请将列表l2 = [1, 'a', 3, 4, 'heart']的每一个元素添加到列表li中,一行代码实现,不允许循环添加。
请删除列表中的元素'ritian',并输出添加后的列表
请删除列表中的第2个元素,并输出删除的元素和删除元素后的列表
请删除列表中的第2至4个元素,并输出删除元素后的列表

li = ['alex', 'Wusir', 'ritian', 'barry', 'wenzhou']
print('列表li的长度:{}'.format(len(li)))
li.append('seven')
print("列表追加'seven'后的结果为:{}".format(li))
li.insert(0, 'Tony')
print("列表插入元素'Tony'后的结果为:{}".format(li))
li[1] = 'Kelly'
print("列表修改第二个位置元素'Kelly'后的结果为:{}".format(li))
li.extend([1, 'a', 3, 4, 'heart'])
print("列表添加l2的列表中元素后的结果为:{}".format(li))
li.remove('ritian')
print("列表删除元素'ritian'后的结果为:{}".format(li))
temp = li.pop(1)
print("列表删除第二个元素为:{} 删除后的结果为:{}".format(temp, li))
del li[1:4]
print("列表删除第二个至第四个元素后的结果为:{}".format(li))
# 运行结果:
# 列表li的长度:5
# 列表追加'seven'后的结果为:['alex', 'Wusir', 'ritian', 'barry', 'wenzhou', 'seven']
# 列表插入元素'Tony'后的结果为:['Tony', 'alex', 'Wusir', 'ritian', 'barry', 'wenzhou', 'seven']
# 列表修改第二个位置元素'Kelly'后的结果为:['Tony', 'Kelly', 'Wusir', 'ritian', 'barry', 'wenzhou', 'seven']
# 列表添加l2的列表中元素后的结果为:['Tony', 'Kelly', 'Wusir', 'ritian', 'barry', 'wenzhou', 'seven', 1, 'a', 3, 4, 'heart']
# 列表删除元素'ritian'后的结果为:['Tony', 'Kelly', 'Wusir', 'barry', 'wenzhou', 'seven', 1, 'a', 3, 4, 'heart']
# 列表删除第二个元素为:Kelly 删除后的结果为:['Tony', 'Wusir', 'barry', 'wenzhou', 'seven', 1, 'a', 3, 4, 'heart']
# 列表删除第二个至第四个元素后的结果为:['Tony', 'seven', 1, 'a', 3, 4, 'heart']

习题2

有如下列表,利用切片实现每一个功能
li = [1, 3, 2, 'a', 4, 'b', 5, 'c']
通过对li列表的切片形成新的列表l1, l1 = [1, 3, 2]
通过对li列表的切片形成新的列表l2, l2 = ['a', 4, 'b']
通过对li列表的切片形成新的列表l3, l3 = [1, 2, 4, 5]
通过对li列表的切片形成新的列表l4, l4 = [3, 'a', 'b']
通过对li列表的切片形成新的列表l5, l5 = ['c']
通过对li列表的切片形成新的列表l6, l6 = ['b', 'a', 3]

li = [1, 3, 2, 'a', 4, 'b', 5, 'c']
l1 = li[:3]
print('列表l1:{}'.format(l1))

l2 = li[3:6]
print('列表l2:{}'.format(l2))

l3 = li[::2]
print('列表l3:{}'.format(l3))

l4 = li[1:-2:2]
print('列表l4:{}'.format(l4))

l5 = li[-1::]
print('列表l5:{}'.format(l5))

l6 = li[-3::-2]
print('列表l6:{}'.format(l6))
# 运行结果:
# 列表l1:[1, 3, 2]
# 列表l2:['a', 4, 'b']
# 列表l3:[1, 2, 4, 5]
# 列表l4:[3, 'a', 'b']
# 列表l5:['c']
# 列表l6:['b', 'a', 3]

习题3

有如下列表,按照要求实现每一个功能
lis = [2, 3, 'k', ['qwe', 20, ['k1', ['tt', 3, '1']], 89], 'ab', 'adv']
将列表lis中的'tt'变成大写(用两种方式)
将列表中的数字3变成字符串'100'(用两种方式)
将列表中的字符串'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][:1] = ['TT']
print("列表lis中元素'tt'变大写后的结果为{}".format(lis))
# 列表lis中元素'tt'变大写后的结果为[2, 3, 'k', ['qwe', 20, ['k1', ['TT', 3, '1']], 89], 'ab', 'adv']

# 方法一
# lis[1] = '100'
# lis[3][2][1][1] = '100'
# 方法二
lis[1:2] = ['100']
lis[3][2][1][1:2] = ['100']
print("列表lis中元素数字3变字符串'100'后的结果为{}".format(lis))
# 列表lis中元素数字3变字符串'100'后的结果为[2, '100', 'k', ['qwe', 20, ['k1', ['TT', '100', '1']], 89], 'ab', 'adv']

# 方法一
# lis[3][2][1][-1] = 101
# 方法二
lis[3][2][1][2:] = [101]
print("列表lis中元素字符串'1'变数字101后的结果为{}".format(lis))
# 列表lis中元素字符串'1'变数字101后的结果为[2, '100', 'k', ['qwe', 20, ['k1', ['TT', '100', 101]], 89], 'ab', 'adv']

习题4

li = ['alex', 'wusir', 'taibai']
利用下划线将列表的每一个元素拼接成字符串'alex_wusir_taibai'

li = ['alex', 'wusir', 'taibai']
si = '_'.join(li)
print(si)  # alex_wusir_taibai

习题5

利用for循环和range打印出下面列表的索引
li = ['alex', 'WuSir', 'ritian', 'barry', 'wenzhou']

li = ['alex', 'WuSir', 'ritian', 'barry', 'wenzhou']
for i in range(len(li)):
    print('列表li的元素:{}的索引值为:{}'.format(li[i], i))
# 运行结果:
# 列表li的元素:alex的索引值为:0
# 列表li的元素:WuSir的索引值为:1
# 列表li的元素:ritian的索引值为:2
# 列表li的元素:barry的索引值为:3
# 列表li的元素:wenzhou的索引值为:4

习题6

利用for循环和range找出100以内所有的偶数并将这些偶数插入到一个新列表中

l1 = []
for i in range(100, -1, -2):
    l1.insert(0, i)
print(l1)
# [0, 2, 4, 6, 8, 10, 12, 14, 16, 18, 20, 22, 24, 26, 28, 30, 32, 34, 36, 38, 40, 42, 44, 46, 48, 50, 52, 54, 56, 58, 60, 62, 64, 66, 68, 70, 72, 74, 76, 78, 80, 82, 84, 86, 88, 90, 92, 94, 96, 98, 100]

习题7

利用for循环和range找出50以内能被3整除的数,并将这些数插入到一个新列表中

l1 = []
for i in range(50, -1, -1):
    if i % 3 == 0:
        l1.insert(0, i)
print(l1)
# [0, 3, 6, 9, 12, 15, 18, 21, 24, 27, 30, 33, 36, 39, 42, 45, 48]

习题8

利用for循环和range从100-1,倒叙打印

for i in range(100, 0, -1):
    print(i, end=' ')
# 运行结果:
# 100 99 98 97 96 95 94 93 92 91 90 89 88 87 86 85 84 83 82 81 80 79 78 77 76 75 74 73 72 71 70 69 68 67 66 65 64 63 62 61 60 59 58 57 56 55 54 53 52 51 50 49 48 47 46 45 44 43 42 41 40 39 38 37 36 35 34 33 32 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1

习题9

利用for循环和range从100-10,倒叙将所有的偶数添加到一个新列表中,然后对列表的元素进行筛选,将能被4整除的数留下来

l1 = []
for i in range(100, 9, -1):
    l1.append(i)
    if l1[-1] % 4 != 0:
        del l1[-1]
print(l1)
# [100, 96, 92, 88, 84, 80, 76, 72, 68, 64, 60, 56, 52, 48, 44, 40, 36, 32, 28, 24, 20, 16, 12]

习题10

利用for循环和range,将1-30的数字一次添加到一个列表中,并循环这个列表,将能被3整除的数改成*

l1 = list(range(1, 31))
index = 0
for i in l1:
    if i % 3 == 0:
        l1[index] = '*'
    index += 1
print(l1)
# [1, 2, '*', 4, 5, '*', 7, 8, '*', 10, 11, '*', 13, 14, '*', 16, 17, '*', 19, 20, '*', 22, 23, '*', 25, 26, '*', 28, 29, '*']

习题11

查找列表li中的元素,移除每个元素的空格,并找出以'A'或者'a'开头,并以'c'结尾的所有元素,并添加到一个新列表中,最后循环打印这个新列表
li = ['TaiBai', 'alexC', 'Abc', 'egon', 'riTiAn', 'WuSir', 'aqc']

li = ['TaiBai', 'alexC', 'Abc', 'egon', 'riTiAn', 'WuSir', 'aqc']
new_li = []
for i in li:
    i = i.strip()
    if (i.startswith('A') or i.startswith('a')) and i.endswith('c'):
        new_li.append(i)
for i in new_li:
    print(i)

# 运行结果:
# Abc
# aqc

习题12

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

li = ['苍老师', '东京热', '武藤兰', '波多野结衣']
words = input('评论内容:')
new_words = []
for word in li:
    if word in words:
        words = words.replace(word, '*' * len(word))
else:
    new_words.append(words)
print(new_words)
# 运行结果:
# 评论内容:东京的东京热吗?波多野结衣知道的
# ['东京的***吗?*****知道的']

习题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 i in li:
    # 判断类型是否列表
    if type(i) == list:
        for j in i:
            if type(j) == str:
                print(j.lower())
            else:
                print(j)
    else:
        # 判断类型是否字符串
        if type(i) == str:
            print(i.lower())
        else:
            print(i)
# 运行结果:
# 1
# 3
# 4
# alex
# 3
# 7
# 8
# taibai
# 5
# ritian