python学习2.1列表

本文详细介绍了Python中列表的基本操作,包括定义与输出、元素访问、修改与添加、删除元素的方法,以及对列表进行排序、插入和长度检查的技巧。通过实例演示了如何使用append(), extend(), pop(), remove(), sort()等函数,适合初学者理解列表的灵活运用。
摘要由CSDN通过智能技术生成

一、初试列表(与C中的数组类似)

1、列表的定义和输出(约定俗成,用 [ ] 引起列表)

eg:输入:

band=["the beatles","oasis","eagles"]
print(band)

输出:

['the beatles', 'oasis', 'eagles']

2、列表元素的访问(0表示第一个元素)

eg:输入:

band=["the beatles","oasis","eagles"]
print(band[1].title())

输出:

Oasis

注:

(1)Python有一种特殊的语法通过将索引指定为-1,返回最后一个列表元素,-2返回倒数第二个,-3返回倒数第三个,以此类推;

eg:输入:

band=["the beatles","oasis","eagles"]
print(band[-1].title())

输出:

Eagles

(2)用 .index 获取元素索引(若列表中元素有重复,只返回序列靠前的那一个)

输入:

band=["the beatles", "oasis", "eagles"]
print(band.index("oasis"))


输出:

1

还可以指定位置区域:

输入:

band=["the beatles", "oasis", "eagles", "blur", "the kinks", "oasis", 'the who']
print(band.index("oasis", 1, 6))
print(band.index("oasis", 2, 6))

输出: 

1
5

二、修改,添加,删除元素

1、修改列表元素(定位序号后,直接改)

eg:

(1)输入:

band=["the beatles","oasis","eagles"]
print(band[1].title())
band[1]="blur"
print(band[1].title())

输出:

Oasis
Blur

(2)也可以用切片替换

输入:

band = ["eagles", "blur", "the kinks", 'the who']
band[1:3] = ["the beatles", "oasis", "U2"]
print(band)

 输出:

['eagles', 'the beatles', 'oasis', 'U2', 'the who']

2、在列表中添加元素

eg:

(1)使用append(),把一个元素添加到末尾

输入:

band = ["the beatles", "oasis", "eagles"]
print(band)
band.append("blur")
print(band)

输出:

['the beatles', 'oasis', 'eagles']
['the beatles', 'oasis', 'eagles', 'blur']

(2)添加多个元素,使用 .extend() 

输入:

band = ["the beatles", "oasis"]
band1 = ["eagles", "blur", "the kinks", 'the who']
band.extend(band1)
print(band)

输出:

['the beatles', 'oasis', 'eagles', 'blur', 'the kinks', 'the who']

(3)使用切片来替换

输入:

band = ["the beatles", "oasis"]
band1 = ["eagles", "blur", "the kinks", 'the who']
band[1::] = band1
print(band)

 输出:

['the beatles', 'eagles', 'blur', 'the kinks', 'the who']

注:

(1)实际中可以创建一个空表,实现动态添加元素

eg:输入:

band = []
band.append("oasis")
band.append("the beatles ")
band.append("blur")
print(band)

输出:

['oasis', 'the beatles ', 'blur']

注:band = [ ] 这样创建的空表会有警告

This list creation could be rewritten as a list literal

此时需要用到函数 list(),意为将列表格式化

band = list([])
band.append("oasis")
band.append("the beatles ")
band.append("blur")
print(band)

空表也可以直接

band = list()
band.append("oasis")
band.append("the beatles ")
band.append("blur")
print(band)

特别的,也可以格式化字符串变量:

输出:

string = "hello world"
L = list(string)
print(L)

输出:

['h', 'e', 'l', 'l', 'o', ' ', 'w', 'o', 'r', 'l', 'd']

(2)用 range() 创建列表

输入:

liSt = [i for i in range(1, 11)]
print(liSt)

输出: 

[1, 2, 3, 4, 5, 6, 7, 8, 9, 10]

3、从列表中删除元素

(1)若知道元素在列表中的位置,可以使用 del 语句删除元素,但无法再次使用它

eg:输入:

band = ["oasis", "the beatles", "U2"]
print(band)

del band[2]
print(band)

输出:

['oasis', 'the beatles', 'U2']
['oasis', 'the beatles']

注:也可删除整个列表

band = ["eagles", "blur", "the kinks", 'the who']
del band
print(band)

(2) .pop(位置) 可以删除任意位置的元素,但是可以继续使用它

eg:

a、若 () 里为空,默认删除最后一个

输入:

band = ["oasis", "the beatles", "U2"]
print(band)
popped_bands = band.pop()
print(band)
print(popped_bands)

输出:

['oasis', 'the beatles', 'U2']
['oasis', 'the beatles']
U2

b、 输入:

band = ["oasis", "the beatles", "U2"]
print(band)
popped_bands = band.pop(1)
print(band)
print(popped_bands)

输出: 

['oasis', 'the beatles', 'U2']
['oasis', 'U2']
the beatles

(3)根据值删除元素,使用 .remove(元素)  

注:.remove() 只能删除顺序遍历后的第一个,若要全部删除,需用到循环

eg:输入:

band = ["oasis", "the beatles", "U2"]
print(band)
band.remove("oasis")
print(band)

输出:

['oasis', 'the beatles', 'U2']
['the beatles', 'U2']

(4)用切片删除 

输入:

band = ["eagles", "blur", "the kinks", 'the who']
band[1:3] = []
print(band)

输出:

['eagles', 'the who']

(5)用 .clear() 清空 

输入:

band = ["eagles", "blur", "the kinks", 'the who']
band.clear()
print(band)

输出:

[]

5、在列表中插入元素(使用 insert(位置,元素) 可以在列表的任何位置插入新元素)

输入:

band = ["oasis", "the beatles", "U2"]
band.insert(0, "eagles")
print(band)

输出:

['eagles', 'oasis', 'the beatles', 'U2']

6、对列表进行排序

(1)使用 .sort() ,默认升序排列,若要降序,需传递参数 reverse=True(这个排序是永久的,不可逆),对原列表进行操作

eg:

a. 对数字

输入:

band = [11, 2, 1, 3]
print(band)
band.sort()
print(band)
band.sort(reverse=True)
print(band)

输出:

[11, 2, 1, 3]
[1, 2, 3, 11]
[11, 3, 2, 1]

b. 对字符

输入:

band = ["cy", "ccy", "cccy", "ccyy"]
print(band)
band.sort()
print(band)
band.sort(reverse=True)
print(band)

输出:

['cy', 'ccy', 'cccy', 'ccyy']
['ccyy', 'cy', 'cccy', 'ccy']
['ccy', 'cccy', 'ccyy', 'ccyy']

(2)使用 sorted() 对列表进行排序,会生成一个新的列表,原列表不变。默认升序排列,若要降序,需传递参数 reverse=True

输入: 

band = ["cy", "ccy", "cccy", "ccyy"]
print(band)
print(sorted(band))
print(band)
print(sorted(band, reverse=True))

 输出:

['cy', 'ccy', 'cccy', 'ccyy']
['ccyy', 'cy', 'cccy', 'ccy']
['cy', 'ccy', 'cccy', 'ccyy']
['ccy', 'cccy', 'cy', 'ccyy']

(3)反转列表:用 .reverse() 

输入:

band = ["cy", "ccy", "cccy", "ccyy"]
print(band)
band.reverse()
print(band)

输出:

['cy', 'ccy', 'cccy', 'ccyy']
['ccyy', 'cccy', 'ccy', 'cy']

也可以用切片操作来反转列表:

输入:

band = ["the beatles", "oasis", "eagles", "blur", "the kinks", 'the who']
print(band[::-1])

 输出:

['the who', 'the kinks', 'blur', 'eagles', 'oasis', 'the beatles']

注意:这样操作是不对的

输入:

band = ["cy", "ccy", "cccy", "ccyy"]
print(band.reverse())

输出:

None

7、确定列表的长度,用 len() 

输入:

band = ["cy", "ccy", "cccy", "ccyy"]
print(len(band))

输出:

4
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值