Python学习day04-列表魔法(方法)以及相关操作

一、列表的基本操作

列表:
(1)列表中可以存储任何类型,如:数字、字符串、布尔值、列表…
(2)列表的存储是不连续的,修改后还是本身列表(类似于C语言的链表)
①列表的取值
(1)索引取值

li=[1,2,"a","b"]
print(li[1])	#2

(2)切片取值
切片取值得到的还是一个列表

li=[1,2,"a","b"]
print(li[:3])	#[1, 2, 'a']

(3)for循环取值

li=[1,2,"a","b"]
for i in li:
    print(i)	#依次打印li内元素

②列表的修改
(1)通过索引修改

li=[1,2,"a","b"]
li[2]="Hello"
print(li)	#[1, 2, 'Hello', 'b']

(2)通过切片修改

li=[1,2,"a","b"]
li[::2]=['c','d']
print(li)	#['c', 2, 'd', 'b']

③in、not in操作
判断内容存不存在列表内,返回布尔值
只能判断当前列表的选项,列表选项的子选项内容不能判断

li=[1,2,"a","b"]
print('a' in li)	#True
print(3 in li)	#False

④列表与字符串的转换
(1)字符串===>列表
直接用list强转,实质上使用for循环将字符串的内容一个一个放入列表中

s="abcde"
print(list(s))	#['a', 'b', 'c', 'd', 'e']

(2)列表===>字符串
当列表中只有字符串时:用join方法拼接

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

当列表中既有数字又有字符串时:用for循环拼接

li=[1,2,"a","b"]
s = ""
for i in li:
    s+= str(i)
print(s)	#12ab

二、列表的魔法、方法

①元素的添加
(1)append:尾部添加
将参数内的元素作为一个整体添加到列表中

li=[1,2,"a","b"]
li.append("你好")
print(li)	#[1, 2, 'a', 'b', '你好']

(2)extend:尾部添加
如果参数是字符串,则将字符串一个一个放入
如果参数是列表,则整体放入
参数不能为其它类型

li=[1,2,"a","b"]
li2=["Hello"]
li.extend("12")
print(li)	#[1, 2, 'a', 'b', '1', '2']
li.extend(li2)
print(li)	#[1, 2, 'a', 'b', '1', '2',"Hello"]

(3)insert:指定索引添加指定元素

li=[1,2,"a","b"]
li.insert(1,100)
print(li)	#[1, 100, 2, 'a', 'b']

②元素的删除
(1)pop
无参时默认从尾部删除
有参数时:参数为要删除元素的索引
可以得到删除的元素

li=[1,2,"a","b"]
v=li.pop(1)
print(li)	#[1, 'a', 'b']
print(v)	#2

(2)remove
删除参数指定的元素,不能得到删除的元素

li=[1,2,"a","b"]
li.remove("a")
print(li)	#[1, 2, 'b']

(3)del
del可以删除指定索引下标,也可以以切片方式删除
注意:当del整个列表时,列表不存在,不能再对列表进行任何操作

li=[1,2,"a","b"]
del li[2]
print(li)	#[1, 2, 'b']
===========================
del li
print(li)	#会出错

③clear:清空列表
清空后列表仍存在,仍可对列表进行操作

li=[1,2,"a","b"]
li.clear()
print(li)	#[]

④count:得到元素出现的次数

li=[1,2,1,"a","b"]
print(li.count(1))	#2

⑤index:得到元素的索引
有默认参数2,3,分别为start下标、end下标

li=[1,"a",1,"a","b"]
print(li.index('a'))		#1
print(li.index('a',2,5))	#3

⑥copy:列表拷贝
做是浅拷贝

li=[1,"a",1,"a","b"]
v=li.copy()
print(v)	#[1, 'a', 1, 'a', 'b']

⑦reverse:列表倒叙

li=[1,"a",1,"a","b"]
li.reverse()
print(li)	#['b', 'a', 1, 'a', 1]

⑧sort:列表排序
默认为升序,如果想降序可以加参数:reverse=True

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

猜你喜欢

转载自blog.csdn.net/qq_41453285/article/details/82830768