Python3列表基础
列表格式
1 # 列表格式 2 # 列表定义采用[],内部以逗号进行分割,列表元素可以是任意类型,比如字符串、数字、字典、bool、元组、列表 3 list1 = [1, 'a', {}, True, ('a'), [1, 2, 3]] 4 print(list1)
输出:
1 [1, 'a', {}, True, 'a', [1, 2, 3]]
列表嵌套
1 # 列表嵌套,列表内部可以无限制嵌套列表 2 print("列表嵌套.......") 3 ll = [1, 2, 4, 5, ['a', 1231, 56], 'abcd'] 4 print(ll)
输出:
1 列表嵌套....... 2 [1, 2, 4, 5, ['a', 1231, 56], 'abcd']
列表取值
索引取值
1 # 索引取值,通过索引进行取值,第一个位置为0,列表取值有边界,索引值超过边界后会报IndexError 2 print("通过索引取值......") 3 ll = [1, 2, 4, 5, ['a', 1231, 56], 'abcd'] 4 v1 = ll[0] 5 v2 = ll[4] 6 print(v1) 7 print(v2) 8 # print(ll[10]) #索引超过列表长度会报错
输出:
1 通过索引取值...... 2 1 3 ['a', 1231, 56]
#可以通过索引对嵌套的列表进行取值。
1 # 对列表中嵌套的列表中的进行取值 2 print("对列表中嵌套的列表中的进行取值....") 3 l5 = [1, 2, 3, ['asdf', 4, ['faef', 3], 5], 7] 4 print(l5[3]) 5 print(l5[3][2]) 6 print(l5[3][2][0]) #当前到的是一个字符串 7 print(l5[3][2][0][1]) #对字符串进行索引取值
输出:
1 对列表中嵌套的列表中的进行取值.... 2 ['asdf', 4, ['faef', 3], 5] 3 ['faef', 3] 4 faef 5 a
切片取值
1 # 切片取值 2 print("通过切片取值......") 3 ll = [1, 2, 4, 5, ['a', 1231, 56], 'abcd'] 4 v1 = ll[0:2] 5 v2 = ll[3:] 6 v3 = ll[:-1] 7 v4 = ll[-2:] 8 print(v1) 9 print(v2) 10 print(v3) 11 print(v4)
输出:
1 通过切片取值...... 2 [1, 2] 3 [5, ['a', 1231, 56], 'abcd'] 4 [1, 2, 4, 5, ['a', 1231, 56]] 5 [['a', 1231, 56], 'abcd']
列表循环
# 列表循环,列表可以通过for和while循环,同样的循环也支持continue和break
for循环
1 # for循环 2 print("for循环测试") 3 ll = [1, 2, 4, 5, ['a', 1231, 56], 'abcd'] 4 for item in ll: 5 if item == 2: # 当列表元素值等于2时直接进行下一个循环 6 continue 7 print(item)
输出:
1 for循环测试 2 1 3 4 4 5 5 ['a', 1231, 56] 6 abcd
while循环
1 # while循环 2 print("while循环测试") 3 ll = [1, 2, 4, 5, ['a', 1231, 56], 'abcd'] 4 n = 0 5 while n < len(ll): 6 if ll[n] == 5: 7 break 8 print(ll[n]) 9 n += 1
输出:
1 while循环测试 2 1 3 2 4 4
列表值修改
# 列表值修改,可以通过索引对列表元素进行重新赋值,也可以通过切片方法对列表元素值进行修改
索引法修改
1 # 索引法修改 2 print("通过索引进行值修改.....") 3 l1 = [1, 2, 3, 4, 5, 6, [7, 8, 9]] 4 print('修改前:', l1) 5 l1[1] = 'asdf' 6 print('修改后:', l1)
输出:
1 通过索引进行值修改..... 2 修改前: [1, 2, 3, 4, 5, 6, [7, 8, 9]] 3 修改后: [1, 'asdf', 3, 4, 5, 6, [7, 8, 9]]
切片法修改
1 print("通过切片进行值修改.....") 2 # 切片法修改 3 l2 = [1, 2, 3, 4, 5, 6, [7, 8, 9]] 4 # l1[2:4] = 1 # 报错,采用切片进行修改是值必须也是列表类型 5 print('修改前的l2[2:4]: ', l2[2:4]) 6 l2[2:4] = [2, 2] 7 print('修改后的l2[2:4]: ', l2[2:4]) 8 print('修改前的l2[4:]:', l2[4:]) 9 l2[4:] = [2, 2] 10 print('修改后的l2[4:]:', l2[4:])
输出:
1 通过切片进行值修改..... 2 修改前的l2[2:4]: [3, 4] 3 修改后的l2[2:4]: [2, 2] 4 修改前的l2[4:]: [5, 6, [7, 8, 9]] 5 修改后的l2[4:]: [2, 2]
列表值删除
del删除
1 # 列表值删除,基础删除方法可以采用del通过索引或切片删除列表元素 2 print('del删除列表元素......') 3 l3 = [1, 2, 3, 4, 5, 6, [7, 8, 9]] 4 print("删除元素前的列表", l3) 5 del l3[1] 6 print("通过索引删除元素[1]:", l3) 7 del l3[2:4] 8 print("通过切片删除元素[2:4]:", l3)
输出:
1 del删除列表元素...... 2 删除元素前的列表 [1, 2, 3, 4, 5, 6, [7, 8, 9]] 3 通过索引删除元素: [1, 3, 4, 5, 6, [7, 8, 9]] 4 通过切片删除元素: [1, 3, 6, [7, 8, 9]]
列表in操作
1 # 列表in操作 2 print("列表的in操作....") 3 l4 = [1, 2, 3, 4, 5, 6, [7, 8, 9]] 4 print(l4) 5 v = 2 in l4 6 print(v)
输出:
1 列表的in操作.... 2 [1, 2, 3, 4, 5, 6, [7, 8, 9]] 3 True
字符串转换为列表
python中字符串可以转换为列表,数字类型不能转换为列表。
1 # python中字符串可以转换为列表,数字类型不能转换为列表。 2 # 字符串转换为列表,实际上将列表进行循环,将每个字符添加到一个列表中。 3 s = 'sdfasdfasdf' 4 lv = list(s) 5 print(lv)
输出:
1 ['s', 'd', 'f', 'a', 's', 'd', 'f', 'a', 's', 'd', 'f']
列表转换为字符串
列表转换为字符串可以分2种情况,一种为列表中的元素全部是由字符串构成,另一种列表中混合了数字和字符串。
字符串构成的列表转换为字符串
1 # 字符串构成的列表转换为字符串,可以采用join方法进行转换,但是列表中不能再嵌套列表 2 print("字符串构成的列表转换为字符串.....") 3 l6 = ['a', 'b', 'c', 'd', '123', '456'] 4 lv6 = ''.join(l6) 5 print(l6) 6 print(lv6)
输出:
1 字符串构成的列表转换为字符串..... 2 ['a', 'b', 'c', 'd', '123', '456'] 3 abcd123456
数字和字符串混合的列表转换为字符串

浙公网安备 33010602011771号