少儿Python编程进阶教程——列表List(上)(4)

少儿Python编程进阶教程——列表List(上)(4)

一、list()构造函数

如上一课所述,您可以使用int()/float()/str()等构造函数将变量或值转换为给定类型。您可以使用list()构造函数将文本的可迭代对象转换为列表

list1 = list("1234")
print(list1)
list2 = list(["1234"])
print(list2)
list3 = list(range(4))
print(list3)

执行结果:

['1', '2', '3', '4']
['1234']
[0, 1, 2, 3]

下面是一个简单的实现,说明了list()构造函数的工作原理。

def list(iterable):
    result = []
    for item in iterable:
        result.append(item)
    return result

二、列表操作

我们快速回顾一下列表支持的操作

语义语法
创建列表list1 = [“a”,”b”,”c”]
列表前缀串联[“x”,”y”,”z”] + llist1
列表后缀串联list1 + [“d”,”e”,”f”]
乘法list1 * 3
长度len(list1)
索引取值list1[2]
负索引取值list1[-1]
索引错误,超出范围list1[3]
in 运算符“a” in list1
“ab” in list1
not in 运算符“d” not in list1
for循环for c in list1:
print(c)

与数字或字符串类似,拓展后的赋值运算符也适用于列表操作。

操作符示例等同于
+=list1 += [1,2]list1 = list1 + [1,2]
*=list1 *= 3list1 = list1 * 3

三、列表切片

与字符串相同,列表也支持切片,获取子列表。

切片语法:list1[start:end:step]

列表切片示例
列表切片示例
切片结果说明
fruits[2:4][“cherry”,”fig”]从索引2开始不包括索引4的值
fruits[3:][“fig”,”grape”]省略结束索引,默认拓展到结束
fruits[:][“apple”,”banana”,”cherry”,”fig”,”grape”]整个列表的副本
fruits[3:100][“fig”,”grape”]太大的索引将被截断为列表长度
fruits[100:][]索引100之后没有项目
fruits[:-3][“apple”,”banana”]不包括最后3项
fruits[-3:][“cherry”,”fig”,”grape”]从末尾的第3项开始,一直延伸到列表末尾
fruits[:2] + fruits[2:][“apple”,”banana”,”cherry”,”fig”,”grape”]总等于整个列表
fruits[3::][“fig”,”grape”]省略默认步长是1
fruits[1::2][“banana”,”fig”]返回一个子列表,其索引是1,3,步长是2
fruits[::-1][“grape”,”fig”,”cherry”,”banana”,”apple”]负步长将默认切片方向从左到右更改为从右到左。step=-1实质上是反转整个列表,返回一个子列表,其中的项目从最右边到最左边,每一步索引减少1.
fruits[::-2][“grape”,”cherry”,”apple”]与上面的列子相同,但是每一步索引减少2.

四、更改列表项

要更改列表项,可以使用索引号,例如:

fruits[0]="lemon"

要更改特定范围内项目的值,请使用新值定义一个列表,并参考要插入新值的索引号范围,例如:

fruits[1:3]=["dog"]
fruits[1:3]=[] #这将会将索引1和2中的项目替换为空列表,实质上是从fruits列表中删除这两个项目。

五、添加列表项

要将项目添加到列表末尾,请使用append()方法,例如:

fruits.append("lemon")

若要在指定索引处插入列表项,请使用insert()函数。insert()函数在指定的索引处插入一个项目:

fruits.insert(1,"organe")
fruits.insert(0,"mango") #将“mango”插入到列表的第一项,相当于 fruits = ["mango"] + fruits

若要将项目从另一个列表追加到当前类别,请使用extend()函数。

fruits.extend(["mango","pineapple"])
fruits.extend("mango") #extend()函数参数不一定非的是列表,可以添加任何可迭代的对象。在这个例子中,“mango”字符串是一个可迭代的对象,这本质上相当于fruits.extend(["m","a","n","g","o"])。

六、删除列表项

remove()方法可用于删除指定的项。

fruits.remove("apple")

pop()方法删除指定的索引项

fruits.pop(0)  #删除第一项并返回该项
fruits.pop()  #如果不指定索引,pop()方法将删除最后一项。

七、列表排序

fruits.sort()  #按字母顺序对列表排序
fruits.sort(reverse=True)  #降序排列,请使用关键字参数reverse=True

如果要颠倒列表的顺序,而不考虑字母表,该怎么办呢?reverse()方法反转元素的当前排序顺序,返回结果和fruits[::-1]相同

fruits.reverse()
叮当学习力:数理逻辑思维课
点图或扫码领0元课
叮当学习力-逻辑思维
更多课程

 

微信扫码领取0元编程课


核桃编程-弹窗图

This will close in 180 seconds

少儿编程0元课

 
少儿编程0元课  

少儿0元课导航

 
少儿0元课导航  

少儿逻辑0元课

 
少儿逻辑0元课  

公众号

关注公众号

x
少儿编程学习网
专注青少年编程学习、课程推荐、科技特长生规划
2023-01-27 05:55:59
您好,有任何疑问请与我们联系!
您的工单我们已经收到,我们将会尽快跟您联系!
[官方群:675726029]
[Mars老师:Qbit-School]
[Mars老师]
17732463686
取消

选择聊天工具: