Home > Backend Development > Python Tutorial > An article to help you understand the basics of Python list-related operations and nesting

An article to help you understand the basics of Python list-related operations and nesting

Release: 2023-07-25 15:38:33
forward
1009 people have browsed it

1. List-related operations

The data stored in the list can be modified, such as "add", "delete", and "change".

<1> Add elements ("add" three ways to add)

1. append()

You can add elements to the list through append.

   #定义变量A,默认有3个元素
    A = [&#39;xiaoWang&#39;,&#39;xiaoZhang&#39;,&#39;xiaoHua&#39;]


    print("-----添加之前,列表A的数据-----")
    for tempName in A:
        print(tempName)


    #提示、并添加元素
    temp = input(&#39;请输入要添加的学生姓名:&#39;)
    A.append(temp)


    print("-----添加之后,列表A的数据-----")
    for tempName in A:
        print(tempName)
Copy after login

Result:

An article to help you understand the basics of Python list-related operations and nesting

2. extend()

You can add elements from another collection to the list one by one through extend

>>> a = [1, 2]
>>> b = [3, 4]
>>> a.append(b)
>>>  print(a) 
[1, 2, [3, 4]]        #运行结果 
>>> a.extend(b)   
>>>  print(a)
[1, 2, [3, 4], 3, 4]   #运行结果
Copy after login

3 .insert()

insert(index, object) Inserts the element object

before index at the specified position.
>>> a = [0, 1, 2]
>>> a.insert(1, 3)
>>> print(a)
[0, 3, 1, 2]
Copy after login

<2> 修改元素("改")

修改元素的时候,要通过下标来确定要修改的是哪个元素,然后才能进行修改

demo:

# 定义变量A,默认有3个元素
A = [&#39;xiaoWang&#39;, &#39;xiaoZhang&#39;, &#39;xiaoHua&#39;]


print("-----修改之前,列表A的数据-----")
for tempName in A:
    print(tempName)


# 修改元素
A[1] = &#39;Lu&#39;


print("-----修改之后,列表A的数据-----")
for tempName in A:
    print(tempName)
Copy after login

结果:

An article to help you understand the basics of Python list-related operations and nesting


<3> 查找元素("查"in, not in, index, count)

所谓的查找,就是看看指定的元素是否存在。

1. in, not in

Python中查找的常用方法为:

  • in(存在),如果存在那么结果为true,否则为false。

  • not in(不存在),如果不存在那么结果为true,否则false。

#待查找的列表
nameList = [&#39;xiaoWang&#39;,&#39;xiaoZhang&#39;,&#39;xiaoHua&#39;]


#获取用户要查找的名字
findName = input(&#39;请输入要查找的姓名:&#39;)


#查找是否存在
if findName in nameList:
    print(&#39;在字典中找到了相同的名字&#39;)
else:
    print(&#39;没有找到&#39;)
Copy after login

运行结果:(找到)

An article to help you understand the basics of Python list-related operations and nesting

运行结果:(没有找到)

An article to help you understand the basics of Python list-related operations and nesting

说明:

in的方法只要会用了,那么not in也是同样的用法,只不过not in判断的是不存在。

2. index, count

index和count与字符串中的用法相同

>>> a = [&#39;a&#39;, &#39;b&#39;, &#39;c&#39;, &#39;a&#39;, &#39;b&#39;]
>>> a.index(&#39;a&#39;, 1, 3) # 注意是左闭右开区间
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
ValueError: &#39;a&#39; is not in list
>>> a.index(&#39;a&#39;, 1, 4)
>>>  print(a)
3  #运行结果
>>> a.count(&#39;b&#39;)
>>>  print(a)
2    #运行结果
>>> a.count(&#39;d&#39;)
>>>  print(a)
0    #运行结果
Copy after login

<4> 删除元素("删"del, pop, remove)

列表元素的常用删除方法有:

  • del:根据下标进行删除

  • pop:删除最后一个元素

  • remove:根据元素的值进行删除

1. del

movieName = [&#39;加勒比海盗&#39;,&#39;骇客帝国&#39;,&#39;第一滴血&#39;,&#39;霍比特人&#39;,&#39;速度与激情&#39;]


print(&#39;------删除之前------&#39;)
for tempName in movieName:
    print(tempName)


del movieName[2]


print(&#39;------删除之后------&#39;)
for tempName in movieName:
    print(tempName)
Copy after login

结果:

An article to help you understand the basics of Python list-related operations and nesting

2. pop

movieName = [&#39;加勒比海盗&#39;,&#39;骇客帝国&#39;,&#39;第一滴血&#39;,&#39;霍比特人&#39;,&#39;速度与激情&#39;]


print(&#39;------删除之前------&#39;)
for tempName in movieName:
    print(tempName)


movieName.pop()


print(&#39;------删除之后------&#39;)
for tempName in movieName:
    print(tempName)
Copy after login

结果:

An article to help you understand the basics of Python list-related operations and nesting

3. remove

movieName = [&#39;加勒比海盗&#39;,&#39;骇客帝国&#39;,&#39;第一滴血&#39;,&#39;指环王&#39;,&#39;霍比特人&#39;,&#39;速度与激情&#39;]


print(&#39;------删除之前------&#39;)
for tempName in movieName:
    print(tempName)


movieName.remove(&#39;指环王&#39;)


print(&#39;------删除之后------&#39;)
for tempName in movieName:
    print(tempName)
Copy after login

结果:

An article to help you understand the basics of Python list-related operations and nesting

<5> 排序(sort, reverse)

sort方法是将list按特定顺序重新排列,默认为由小到大,参数reverse=True可改为倒序,由大到小。

reverse方法是将list逆置。

>>> a = [1, 4, 2, 3]
>>>  print(a)
[1, 4, 2, 3]    #运行结果
>>> a.reverse()
>>>  print(a)
[3, 2, 4, 1]    #运行结果
>>> a.sort()  
>>>  print(a)
[1, 2, 3, 4]  #运行结果
>>> a.sort(reverse=True)
>>>  print(a)
[4, 3, 2, 1] #运行结果
Copy after login

二、列表的嵌套

1. 列表嵌套

类似while循环的嵌套,列表也是支持嵌套的。

一个列表中的元素又是一个列表,那么这就是列表的嵌套。

例:

Names= [[&#39;北京&#39;,&#39;甘肃&#39;],
            [&#39;南京&#39;,&#39;天津&#39;,&#39;广东&#39;],
            [&#39;山&#39;,&#39;上海&#39;]]
Copy after login

2. 应用

小项目练习:

学校,有3个办公室,现在有8位老师等待工位的分配,请编写程序,完成随机的分配。

#encoding=utf-8


import random


# 定义一个列表用来保存3个办公室
offices = [[],[],[]]


# 定义一个列表用来存储8位老师的名字
names = [&#39;A&#39;,&#39;B&#39;,&#39;C&#39;,&#39;D&#39;,&#39;E&#39;,&#39;F&#39;,&#39;G&#39;,&#39;H&#39;]


i = 0
for name in names:
    index = random.randint(0,2)    
    offices[index].append(name)


i = 1
for tempNames in offices:
    print(&#39;办公室%d的人数为:%d&#39;%(i,len(tempNames)))
    i+=1
    for name in tempNames:
        print("%s"%name,end=&#39;&#39;)
    print("\n")
    print("-"*20)
Copy after login

运行结果如下:

An article to help you understand the basics of Python list-related operations and nesting


三、总结

本文详细的讲解了Python基础 ,介绍了常见的列表操作,以及在实际操作中会遇到的问题,提供了解决方案。最后通过一个小项目,使读者能够更好的理解Python列表的使用方法。希望可以帮助你更好的学习。

The above is the detailed content of An article to help you understand the basics of Python list-related operations and nesting. For more information, please follow other related articles on the PHP Chinese website!

Related labels:
source:Go语言进阶学习
Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template