列表及其他操作方法

li = [123, '老男孩', True, [1, 2, 3], {'name': 'alex'}, (1, 2, 3)
列表称之为容器型数据类型。

列表的取值

l1 = ['wusir', True, 'alex', 'laonanhai', 'ritian', 'taibai']

1,按照索引取值:

print(l1[0])       #(wusir)
 print(l1[1], type(l1[1]))
View Code

2,按照切片取值:

print(l1[:3])      #['wusir', True, 'alex'] 
View Code

列表的增删改查及其他方法:

增;

1,append追加

l1 = ['wusir', True, 'alex', 'laonanhai', 'ritian', 'taibai']
l1.append('女神')
print(l1)   #['wusir', True, 'alex', 'laonanhai', 'ritian', 'taibai', '女神']
l1.append(123)
l1.append([1, 2, 1111])
print(l1)
View Code

添加员工姓名:

name_list = ['wusir', 'alex', 'laonanhai', 'ritian', 'taibai']
while True:
    username = input('请输入新员工名字:Q或者q退出').strip()
    if username.upper() == 'Q': break
    name_list.append(username)
    print('您已经成功添加了%s' % username)
print(name_list)
View Code

2,insert插入:

l1 = ['wusir', True, 'alex', 'laonanhai', 'ritian', 'taibai']
l1.insert(2, '哪吒')
print(l1)   #['wusir', True, '哪吒', 'alex', 'laonanhai', 'ritian', 'taibai']
View Code

3,extend迭代着追加:

l1 = ['wusir', True, 'alex', 'laonanhai', 'ritian', 'taibai']
l1.extend('abcd')
l1.extend([1, 2, 3, 4, 'abc'])
print(l1)  #['wusir', True, 'alex', 'laonanhai', 'ritian', 'taibai', 'a', 'b', 'c', 'd', 1, 2, 3, 4, 'abc']
View Code

删:

1,POP按照索引去删除,有返回值

l1 = ['wusir', True, 'alex', 'laonanhai', 'ritian', 'taibai']
ret = l1.pop(0)
print(ret)
print(l1)
View Code

2,remove 按照元素删除:

l1 = ['wusir', True, 'alex', 'laonanhai', 'ritian', 'taibai']
l1.remove('alex')
print(l1)             #['wusir', True, 'laonanhai', 'ritian', 'taibai']
View Code

3,clear清空列表:

l1 = [123, '老男孩', True, [1, 2, 3], {'name': 'alex'}, (1, 2, 3)]
l1.clear()
print(l1)
View Code

4,del

1),在内存级别删除:

l1 = ['wusir', True, 'alex', 'laonanhai', 'ritian', 'taibai']
del l1
print(l1)          报错
View Code

2,按照索引删除:

l1 = ['wusir', True, 'alex', 'laonanhai', 'ritian', 'taibai']
del l1[2]
print(l1)     #['wusir', True, 'laonanhai', 'ritian', 'taibai']
View Code

3,切片删除+步长:

l1 = ['wusir', True, 'alex', 'laonanhai', 'ritian', 'taibai']
del l1[:-1]
print(l1)    
 del l1[:3:2]
print(l1)
View Code

改:

1,按照索引去改

l1 = ['wusir', True, 'alex', 'laonanhai', 'ritian', 'taibai']
l1[0] = '肖锋'
print(l1)    #['肖锋', True, 'alex', 'laonanhai', 'ritian', 'taibai']
1[-1] = '男神'
print(l1)
View Code

2,按照切片去改,先将切片的区域内的内容全部删除,在迭代着添加内容。

l1 = ['wusir', True, 'alex', 'laonanhai', 'ritian', 'taibai']
l1[:3] = '范德萨发给ghfkhgh;'
#['范', '德', '萨', '发', '给', 'g', 'h', 'f', 'k', 'h', 'g', 'h', ';', 'laonanhai', 'ritian', 'taibai']
l1[:3] = [1111, 2222, 3333, 4444]
print(l1)
View Code

1,按照索引去查

2,按照切片去查

3,按照for循环去查

l1 = [11,22,33,44,55,66,]
for i in l1:
print(i)

其他操作方法:

len个数

l1 = ['wusir', True, 'alex', 'laonanhai', 'ritian', 'taibai']
cou = len(l1)
print(cou)
View Code

count 元素个数

l1 = ['wusir', True, 'alex', 'laonanhai', 'ritian', 'taibai']
print(l1.count('taibai'))
View Code

Index 通过元素找索引:

l1 = ['wusir', True, 'alex', 'laonanhai', 'ritian', 'taibai']
print(l1.index('alex'))
View Code

sort 从小到大,正序排序:

l2 = [1, 3, 5, 9, 7, 6, 2, 4]
l2.sort()
print(l2)
View Code

sort 从小到大,正序排序:

l2 = [1, 3, 5, 9, 7, 6, 2, 4]
l2.sort(reverse=True)
 print(l2)
View Code

reverse 翻转

l2 = [1, 3, 5, 9, 7, 6, 2, 4]
l2.reverse()
print(l2)
View Code

列表的嵌套

习题练习

print(l1[2])
l2 = l1[2]
l2[1] = l2[1].strip().capitalize()
l1[2][1] = l1[2][1].strip().capitalize()
print(l1)
l1[2].append('舒淇')
print(l1)
View Code
l1 = ['wusir', 'alex', [99, ' taibai', '98'], 21]

1,将wusir变成全部大写。

l1[0] = 'WUSIR'
print(l1)      #['WUSIR', 'alex', [99, ' taibai', '98'], 21]
print(l1[0].upper())
l1[0] = l1[0].upper()
print(l1)
View Code

2,将'taibai'变成首字母大写,其他字母小写,放回原处。

print(l1[2])
l2 = l1[2]
l2[1] = l2[1].strip().capitalize()
l1[2][1] = l1[2][1].strip().capitalize()
print(l1)
l1[2].append('舒淇')
print(l1)
View Code

3,用数字的相加将99变成字符串的‘100’

l1[2][0] = str(l1[2][0] + 1)
print(l1)
View Code

4,字符串的‘98’变成数字的100。

l1[2][2] = int(l1[2][2]) + 2
print(l1)
View Code

元组  只读列表,不能增删改 只能查询,儿子能改,孙子不能改

索引,切片,步长:

tu = (11, 22, 33, 44, 55)
print(tu[0])      #11
print(tu[:3:2])
for i in tu:
    print(i)
View Code

只能查看不能修改。

tu1 = ('wusir', 'alex', [22, 44, 'taibai'],)
tu1[-1].append('女神')
print(tu1)            (空的,元组只能查看,不能修改)
View Code
tu1 = ('wusir', 'alex', [22, 44, 'taibai'],)
l1 = [22,33]
l1.append(tu1)
 print(l1)
# l1.clear()
# print(l1)
# del tu1
# print(tu1)
View Code

儿子能改,孙子不能改

l2 = [1,('wusir', 'alex', [22, 44, 'taibai'],)]
l2.clear()
print(l2)
View Code

range当做自定义的数字范围列表,

满足顾头不顾尾,可以加步长,与for 循环结合使用。与len for 结合使用

补充:

python2x: range 数字列表

                   xrange 可迭代对象

python3x: range 可迭代对象。

fori in range(0,100):

for i in range(0, 101):    #[0,1,2,3,....100]
    print(i)
for i in range(11):       # [0,1,2,3,....10]
    print(i)
for i in range(0, 101, 3):
    print(i)      #(0,3,6,9,12......)
for i in range(10, 0, -1):
    print(i)
l1 = [22, 33, 33, 33, 66, 77, 88, 99]
for i in l1:
    print(l1.index(i))
for i in range(len(l1)):
    print(i)
View Code
利用for循环打印列表习题,循环里边套循环
l1 = ['wusir', 'alex', [99, ' taibai', '98'], 21]
for i in l1:
    if type(i) == list:
        for j in i:
            print(j)
    else:
print(i)
View Code

面试题:

l = [1,2,3]
print(l[10:])
print(l[10])
View Code

 习题:

1,查找列表li中的元素,移除每个元素的空格,并找出以’A’或者’a’开头,
并以’c’结尾的所有元素,并添加到一个新列表中,最后循环打印这个新列表。
li = ['TaiBai ', 'alexC', 'AbC ', 'egon', ' riTiAn', 'WuSir', '  aqc']
l2 = []
for i in li:
    i = i.strip()
    if i.upper()[0] == 'A' and i.endswith('c'):
        l2.append(i)
print(l2)
View Code
2、开发敏感词语过滤程序,提示用户输入评论内容,如果用户输入的内容中包含特殊的字符:
敏感词列表 li = ["苍老师", "东京热", "武藤兰", "波多野结衣"]
则将用户输入的内容中的敏感词汇替换成***,并添加到一个列表中;
如果用户输入的内容没有敏感词汇,则直接添加到上述的列表中。
content = input('请您输入评论:').strip()  # 苍老师,退役了,武藤兰也退了
list = []
li = ["苍老师", "东京热", "武藤兰", "波多野结衣"]
for i in li:
    i = i.strip()
    content = content.replace(i,'*'*len(i))  # ***,退役了,***也退了
list.append(content)
print(list)
View Code
3,写代码,有如下列表,按照要求实现每一个功能。
lis = [2, 3, 'k', ['qwe', 20, ['k1', ['tt', 3, '1']], 89], 'ab', 'adv']
lis[3][2][1][0]='TT'
lis[3][2][1][0]=lis[3][2][1][0].upper()
print(lis)
1)将列表lis中的’tt’变成大写(用两种方式)
lis[3][2][1][1] = "100"
print(lis)
lis[3][2][1][1] = str(lis[3][2][1][1]+97)
print(lis)
2)将列表中的数字3变成字符串’100’(用两种方式)。
lis[-3][-2][-1][-1] = 101
print(lis)
lis[-3][-2][-1][-1] = int('10' + lis[-3][-2][-1][-1])
print(lis)
3)将列表中的字符串’1’变成数字101(用两种方式)。
原文地址:https://www.cnblogs.com/ls13691357174/p/9058531.html