python课堂整理4---列表的魔法

一、list   类, 列表

li = [1, 12, 9, "age", ["大白", "小黑"], "alex"]

1. 中括号括起来

2. 逗号分割每个元素

3. 列表中的元素可以是数字、字符串、列表、布尔值等

4. 索引取值

5. 切片取值---->得到的还是列表

6. for循环

7. while 循环

8. 支持 in 操作

列表在内存中是以链表形式存储,可以被修改

二、列表灰魔法

1.修改

 

li = [1, 12, 9, "alex", ["大白", "小黑"]]
li[1] = 120
print(li)

 

li = [1, 12, 9, "alex", ["大白", "小黑"]]
li[1: 3] = [120, 90]
print(li)

 

2.删除

li = [1, 12, 9, "alex", ["大白", "小黑"]]
del li[1]
print(li)

li = [1, 12, 9, "alex", ["大白", "小黑"]]
del li[0:3 ]
print(li)

3.操作

li = [1, 12, 9, "alex", ["大白", [7, 19]]]
v = li[4][1][0]
print(v

字符串转为列表

s = "dabai"
new_li = list(s)
print(new_li)

for i in 123:
    print(i)
    

数字(int)不能进行for循环,不能用list 变为列表,因为字符串转换为列表,内部是进行了 for 循环。

列表转换为字符串

1.既有数字又有字符串时,自己写for循环

li = [11,22,33,"123", "alex"]
s = ""
for i in li:
    s = s + str(i)
print(s)

2. 如果列表里只有字符串时,用字符串的join方法

li = ["123", "alex"]
v = "".join(li)
print(v)

三、列表的常用魔法

1.输入参数,在原来值最后追加,  None在python里表示空,什么都没有。因为 list 可以直接修改,所以不需要用 v 重新接受,直接用 li.appebd(5)  即可

li = [11, 22, 33, 44]
v = li.append(5)
print(li)
print(v)

li 对象调用了append 方法

li = [11, 22, 33, 44]
li.append([1234,2323])
print(li)

2.清空列表

li = [11, 22, 33, 44]
li.clear()
print(li)

3.拷贝,  浅拷贝

li = [11, 22, 33, 44]
v = li.copy()
print(v)

4. 计算元素出现的次数

li = [11, 22, 33, 22, 44]
v = li.count(22)
print(v)

5.扩展原列表,参数为可迭代对象(iterable为可迭代对象)

li = [11, 22, 33, 22, 44]
li.extend(["大白", "521"])
print(li)

extend 相当于内部有个for 循环,然后再 li.append()

li = [11, 22, 33, 22, 44]
li.extend("大白")
print(li)

6.根据值获取当前值索引位置,左边优先,可以指定起始位置

li = [11, 22, 33, 22, 44]
v= li.index(22)
print(v)

7. 在指定索引位置插入

li = [11, 22, 33, 22, 44]
li.insert(0, 99)
print(li)

8.默认删除列表最后一个,并获取被删除的值

li = [11, 22, 33, 22, 44]
v = li.pop()
print(li)
print(v)

指定索引删除

li = [11, 22, 33, 22, 44]
v = li.pop(1)
print(li)
print(v)

9. 删除列表中的指定值,左边优先

li = [11, 22, 33, 22, 44]
li.remove(22)
print(li)

10. 将当前列表进行翻转

li = [11, 22, 33, 22, 44]
li.reverse()
print(li)

11.列表的排序,默认是从小到大排

li = [11, 22, 33, 22, 44]
li.sort()
print(li)

也可以从大到小排

li = [11, 22, 33, 22, 44]
li.sort(reverse = True)
print(li)

也可以根据函数方面排序,目前未学。

 

posted @ 2019-06-01 18:13  绝世刘  阅读(384)  评论(0编辑  收藏  举报