04 Day Python列表与元组

元组:

元组被称为只读列表,即数据可以被查询,但不能被修改,所以,字符串的切片操作同样适用于元组。例:(1,2,3)("a","b","c")!但是元组中的列表可以修改。

 1 #元组内容不可修改,如下:
 2 i = ('大雄','王晓明',['小红','小刚','花花'],'你好')
 3 i[0] = '哆啦A梦'
 4 print(i)
 5 
 6 报错:Traceback (most recent call last):
 7         File "G:/lod_boy_S9_Python/4Day/test.py", line 176, in <module>
 8         i[0] = '哆啦A梦'
 9         TypeError: 'tuple' object does not support item assignment
10 
11 
12 #修改元组中列表里面的元素 可以成功
13 i = ('大雄','王晓明',['小红','小刚','花花'],'你好')
14 i[2][0] = '哆啦A梦'
15 print(i)
16 # 输出:('大雄', '王晓明', ['哆啦A梦', '小刚', '花花'], '你好')
View Code

列表:

增:

 1 #append 增加新数据到列表最后
 2 li = ['alex','wusir','egon','女神','taibai']
 3 li.append('demi')
 4 print(li)
 5 #输出:['alex', 'wusir', 'egon', '女神', 'taibai', 'demi']
 6 
 7 #insert 增加新数据到列表指定位置(插入)
 8 li = ['alex', 'wusir', 'egon', '女神', 'taibai', 'demi']
 9 li.insert(2,'liuyi')
10 print(li)
11 #输出:['alex', 'wusir', 'liuyi', 'egon', '女神', 'taibai', 'demi']
12 
13 #extend 迭代添加 数据会被分解到最小元素 例:'小明' 会被分解为 '小', '明'
14 li = ['alex', 'wusir', 'liuyi', 'egon', '女神', 'taibai', 'demi']
15 li.extend('小明')
16 print(li)
17 #输出结果:['alex', 'wusir', 'liuyi', 'egon', '女神', 'taibai', 'demi', '小', '明']
View Code

删:

 1 #pop 有返回值
 2 li = ['alex', 'wusir', 'liuyi', 'egon', '女神', 'taibai', 'demi', '', '']
 3 li.pop() #没有值 默认删除最后一个
 4 print(li)
 5 #输出:['alex', 'wusir', 'liuyi', 'egon', '女神', 'taibai', 'demi', '小']
 6 
 7 #按照索引删除
 8 li = ['alex', 'wusir', 'liuyi', 'egon', '女神', 'taibai', 'demi', '', '']
 9 name = li.pop(0) #按照索引删除
10 print(name,li)
11 #输出:alex ['wusir', 'liuyi', 'egon', '女神', 'taibai', 'demi', '小', '明']
12 
13 #remove 按照元素删除 无返回值
14 li = ['alex', 'wusir', 'liuyi', 'egon', '女神', 'taibai', 'demi', '', '']
15 li.remove('')
16 print(li)
17 
18 #clear 清空列表
19 li = ['alex', 'wusir', 'liuyi', 'egon', '女神', 'taibai', 'demi', '', '']
20 li.clear()
21 print(li)
22 
23 #del删除列表 会报错
24 li = ['alex', 'wusir', 'liuyi', 'egon', '女神', 'taibai', 'demi', '', '']
25 del.li
26 print(li)
27 
28 #切片删除列表中某一部分
29 li = ['alex', 'wusir', 'liuyi', 'egon', '女神', 'taibai', 'demi', '', '']
30 del li[0:3]
31 print(li)
32 #输出:['egon', '女神', 'taibai', 'demi', '小', '明']
View Code

改:

 1 #按照索引修改
 2 li = ['alex', 'wusir', 'liuyi', 'egon', '女神', 'taibai', 'demi', '', '']
 3 li[0] = 'demi' #按照索引修改
 4 print(li)
 5 #输出:['demi', 'wusir', 'liuyi', 'egon', '女神', 'taibai', 'demi', '小', '明']
 6 
 7 
 8 
 9 #会拆分到最小单元
10 li = ['alex', 'wusir', 'liuyi', 'egon', '女神', 'taibai', 'demi', '', '']
11 li [0:2] = '你好啊'
12 print(li)
13 #输出:['你', '好', '啊', 'liuyi', 'egon', '女神', 'taibai', 'demi', '小', '明']
14 
15 
16 
17 #完整替换切片部分
18 li = ['alex', 'wusir', 'liuyi', 'egon', '女神', 'taibai', 'demi', '', '']
19 li [0:2] = ['1。2。3']
20 print(li)
21 #输出:['1。2。3', 'liuyi', 'egon', '女神', 'taibai', 'demi', '小', '明']
View Code

查:

 1 for循环
 2 #按照索引数循环
 3 li = ['alex', 'wusir', 'liuyi', 'egon', '女神', 'taibai', 'demi', '', '']
 4 for i in li :
 5      print(li)
 6 #输出:
 7     # ['alex', 'wusir', 'liuyi', 'egon', '女神', 'taibai', 'demi', '小', '明']
 8     # ['alex', 'wusir', 'liuyi', 'egon', '女神', 'taibai', 'demi', '小', '明']
 9     # ['alex', 'wusir', 'liuyi', 'egon', '女神', 'taibai', 'demi', '小', '明']
10     # ['alex', 'wusir', 'liuyi', 'egon', '女神', 'taibai', 'demi', '小', '明']
11     # ['alex', 'wusir', 'liuyi', 'egon', '女神', 'taibai', 'demi', '小', '明']
12     # ['alex', 'wusir', 'liuyi', 'egon', '女神', 'taibai', 'demi', '小', '明']
13     # ['alex', 'wusir', 'liuyi', 'egon', '女神', 'taibai', 'demi', '小', '明']
14     # ['alex', 'wusir', 'liuyi', 'egon', '女神', 'taibai', 'demi', '小', '明']
15 
16 #按照索引数循环打印出切片内容
17 li = ['alex', 'wusir', 'liuyi', 'egon', '女神', 'taibai', 'demi', '', '']
18 for i in li :
19     print(li[0:2])
20 # 输出:
21 #     ['alex', 'wusir']
22 #     ['alex', 'wusir']
23 #     ['alex', 'wusir']
24 #     ['alex', 'wusir']
25 #     ['alex', 'wusir']
26 #     ['alex', 'wusir']
27 #     ['alex', 'wusir']
28 #     ['alex', 'wusir']
29 #     ['alex', 'wusir']
30 
31 
32 len
33 #打印列表长度
34 li = ['alex', 'wusir', 'liuyi', 'egon', '女神', 'taibai', 'demi', '', '']
35 i = len(li)
36 print(i)
37 #输出:9
38 
39 
40 count
41 #某一元素或字符串出现的次数
42 li = ['alex', 'wusir', 'liuyi', 'egon', '女神', 'taibai', 'demi', '', '']
43 i = li.count('alex')
44 print(i)
45 #输出:1 PS:列表中只能查引号中的元素。
46 
47 
48 
49 index
50 #索引位置,,没有会报错。列表中只能用index
51 li =['alex', 'wusir', 'liuyi', 'egon', '女神', 'taibai', 'demi', '', '']
52 print(li.index('wusir'))
53 # 输出:1
54 
55 sort
56 #从小到大排序(升序)
57 li = ['1', '3', '2', '6', '4', '5', '7', '9', '8']
58 li.sort()
59 print(li)
60 # # 输出:['1', '2', '3', '4', '5', '6', '7', '8', '9']
61 
62 #从大到小排序(降序)
63 li = ['1', '3', '2', '6', '4', '5', '7', '9', '8']
64 li.sort(reverse=True)
65 print(li)
66 # # 输出:['9', '8', '7', '6', '5', '4', '3', '2', '1']
67 
68 reverse
69 #列表整体反转
70 li = ['1', '3', '2', '6', '4', '5', '7', '9', '8']
71 li.reverse()
72 print(li)
73 # # 输出:['8', '9', '7', '5', '4', '6', '2', '3', '1']
View Code
列表的嵌套:
 1 #打印列表中小列表的元素
 2 li = ['alex', 'wusir', 'liuyi',  '女神', 'taibai', ['8','3','demi','1'],'', '']
 3 print(li[5][2])
 4 # 输出:demi
 5 
 6 #替换某个元素的首字母大写
 7 li = ['alex', 'wusir', 'liuyi',  '女神', 'taibai', ['8','3','demi','1'],'', '']
 8 li [0]  = li[0].capitalize()
 9 print(li)
10 # 输出:['Alex', 'wusir', 'liuyi', '女神', 'taibai', ['8', '3', 'demi', '1'], '小', '明']
View Code
其他操作:
 1 join
 2 #衔接每个元素 ‘中的符号自定义’
 3 s = ['demi','yang']
 4 sum = '_'.join(s) #衔接每个元素 ‘中的符号自定义’
 5 print(sum)
 6 # 输出结果:demi_yang
 7 
 8 rang
 9 只存数字的列表,同样顾头不顾尾
10 for i in range(3,10) :
11     print(i)
12 #输出:3.....9
13 
14 
15 for i in range(10) :
16     print(i)
17 #输出结果:0......9
18 
19 
20 for i in range(0,10,4) :
21     print(i)
22 #输出:0 3 6 9 PS:如果步长为2 输出为:0 2 4 6 8  步长为4 输出为:0 4 8
23 
24 
25 #反响
26 for i in range(10,0,-4) :
27     print(i)
28 #输出:10 8 6 4 2 步长为-3 输出为:10 7 4 1  步长为4 输出为:10 6 2
View Code

 

posted @ 2020-04-04 12:14  kylindemi  阅读(148)  评论(0)    收藏  举报