Python 列表简介
列表是最通用的 Python 数据结构,它存储元素的有序序列,就像您的购物清单或待办事项列表一样。在 Python 中,列表是mutable
,这意味着元素可以以不同tuples
甚至不同的方式更改strings
。这些元素list
被称为items
,可以是任何数据类型。
在 Python 中创建列表
在 Python 中创建列表非常简单,使用方括号 [] 并用逗号分隔列表中的项目。
列表可以为空,也可以包含任意数量的项目,且数据类型各异(例如整数、浮点数、字符串等)。
mylist = [ ] #empty list
mylist2 = [1,2] # list containing 2 items with integers
mylist3 = [1, 2, 'hello'] # list with 3 items,mixed data types,integers and a string
注意:一个列表也可以包含另一个列表作为项目,nested lists.
如下所示。
mylist4 = [['python','php'],[1,2,3] # a nested list
访问列表中的项目
我们可以通过以下方式访问列表中的项目
-
索引。
我们使用index
运算符 [ ]。列表中的每个项目都有一个指定的索引值。需要注意的是,在 Python 中,索引从 0 开始,并且必须是整数。Java Python perl 红宝石 c# 0 1 2 3 4 注意:任何非空列表的第一个项都是 [0]。
Languages = ['java', 'python', 'perl' 'ruby', 'c#' ] # define a list print(Languages[0]) # Access the first item of a list at index 0 # Output:java which is the first item on the list.
-
负索引Python 也支持负索引。当您想要获取列表中的最后一项时,负索引很有用,因为它从末尾开始访问列表。
Java Python perl 红宝石 c# -5 -4 -3 -2 -1 注意:任何非空列表的最后一项都是[-1]。
# define a list Languages = ['java', 'python', 'perl' 'ruby', 'c#' ] print(Languages[-1) #Access the last item of a list # Output: C#
列表长度
Python 具有与列表一起使用的有用的内置函数。我们稍后会讨论它们,但现在,len()
函数帮助我们返回列表中元素的总数。
# define a list
languages = ['java', 'python' ,'perl', 'ruby', 'c#']
# print the length of the list
print(len(languages))
# output 5
列表切片
切片适合于获取列表中项目的子集。它使用slicing
运算符:(冒号)来提取序列的一部分。
Languages = ['java', 'python', 'perl','ruby', 'c#' ] # define a list
# [:3] slicing everything up to but not including index 3
print(languages[:3])
#Outputs: ['java', 'python', 'perl' ]
# define a list
Languages = ['java', 'python', 'perl','ruby', 'c#' ]
# [3:] slicing everything from index 3 to the last item
print(languages[3:])
#Output: ['ruby', 'c#' ]
Languages = ['java', 'python', 'perl','ruby', 'c#' ]
#elements from beginning to end
print(languages[:])
#Output: ['java', 'python', 'perl','ruby', 'c#' ]
# define a list
Languages = ['java', 'python', 'perl','ruby', 'c#' ]
# elements from 1st to 3rd
print(languages[0:3])
Output # ['java', 'python', 'perl']
如何更改/添加列表中的元素
列表.附加(项目)
该方法将在列表末尾list.append(item)
添加。item
# define a list
languages = ['java', 'python' ,'perl', 'ruby', 'c#']
# append c
languages.append('c')
print (languages)
# Output : ['java', 'python', 'perl', 'ruby', 'c#', 'c']
列表.插入(i,项目)
此方法将在列表的第 i 个位置插入一个项目,并将元素向右移动。
# define a list
languages = ['java', 'python' ,'perl', 'ruby', 'c#']
# insert c
languages.insert( 0, 'php')
print languages
# Output : ['php', 'java', 'python', 'perl', 'ruby', 'c#']
列表.扩展(项目)
extends 方法用于连接列表。注意,调用 extends 时不能传入多个参数;它会接收第二个列表作为参数。
# define a list
languages = ['java', 'python' ,'perl', 'ruby', 'c#']
Languages2=['c++', 'c'] # define a second list
languages.extend(Languages2)
print(languages)
# Output ['java', 'python', 'perl', 'ruby', 'c#', 'c++', 'c']
extension 方法不返回任何值,而是通过添加第二个列表的内容来修改原始列表
删除列表元素
使用del关键字删除特定索引处的项目
-
单件商品
languages = ['java', 'python' ,'perl', 'ruby', 'c#'] # define a list del languages[2] # use del keyword print(languages) # Output removes perl ['java', 'python', 'ruby', 'c#']
-
多个项目
languages = ['java', 'python' ,'perl', 'ruby', 'c#'] # define a list del languages[1:3] #delete Multiple items by slicing print(languages) # Output : ['java', 'ruby', 'c#']
列表.删除(项目)
它将搜索并删除only
第一次出现的项目
Languages = ['java', 'python', 'perl','python','ruby', 'c#' ]
Languages.remove('python') # the first occurrence of python
print(languages) # outputs ['java', 'perl', 'python', 'ruby', 'c#']
它删除了 java 后面的 python。请注意,perl 后面的 'python' 仍然存在
列表.pop()
删除并返回列表的最后一项
languages = ['java', 'python' ,'perl', 'ruby', 'c#']
print(languages.pop()) # print c#
print(languages)
# output ['java', 'python', 'perl', 'ruby']
列表.pop(i)
删除并返回列表中的第 i 个项目
Languages = ['java', 'python', 'perl','ruby', 'c#' ]
print(languages.pop(1)) # removes index 1 item
# Output returns Python
列表.索引(项目)
当列表变得越来越长时,我们很难逐一数出每个元素,从而确定某个值位于哪个索引位置。我们可以使用list.index(item)
, 返回该元素在列表中的索引。
如果列表中有多个元素的值是item
,则此方法将返回第一个元素。
列表方法总结
方法名称 | 描述 | |
---|---|---|
1 | alist.append(项目) | 在列表末尾添加新项目 |
2 | alist.插入(i,item) | 在第 i 个位置插入项目,并将其他项目向右移动。 |
3 | alist.extend() | 将第二个列表的元素添加到原始列表 |
4 | 删除列表[i] | 删除第 i 个位置的项目,也可以通过切片删除一定范围内的项目 |
5 | alist.remove(项目) | 搜索并删除第一次出现的项目,如果未找到则不返回新列表并抛出错误 |
6 | 流行音乐() | 删除并返回列表的最后一项 |
7 | 弹出(i) | 删除并返回列表中的第 i 个项目 |
8 | alist.index(项目) | 返回第一次出现的索引 |
9 | 列表.sort() | 对列表项进行排序 |
10 | alist.reverse() | 反转列表 |
11 | 列表.count(项目) | 返回某项出现的次数 |
常见列表操作
级联
连接使用 +
运算符。它组合列表。
# define a list
languages = ['java', 'python' ,'perl', 'ruby', 'c#']
print(languages +(['c++', 'c']))
# Output: ['java', 'python' ,'perl', 'ruby', 'c#', c++, c]
重复
使用 *
运算符。重复连接列表
mylist = ['strings are cool'] * 2
print (mylist)
# output: ['strings are cool', 'strings are cool']
会员资格
关键字In
用于测试某个项目是否是列表的成员。
languages = ['java', 'python' ,'perl', 'ruby', 'c#']
if 'python' in languages:
print('right')
迭代
For
循环用于通过关键字迭代列表中的每个元素in
。for 循环允许您对列表中的每个元素执行一个操作。
图 1
languages = ['java', 'python' ,'perl', 'ruby', 'c#']
for i in languages:
print(i)
这将每行打印列表中的所有项目,如下所示:
java
python
perl
ruby
c#
图 2
random_sum = [2,7,8,9]
total = 0
for i in random_sum:
total +=i
print total
上面的代码将打印 26,即列表中所有项的总和。for
循环需要一个变量来保存被迭代的项和源。
While
循环首先会检查条件,如果条件满足true
,就会继续迭代,一旦条件满足就会终止循环false
。
languages = ['java', 'python' ,'perl', 'ruby', 'c#']
i = 0
while i <len(languages):
print(languages[i])
i = i+3
上述代码将打印
java
ruby
结论
现在您知道了什么是列表以及如何操作它们。为了进一步了解列表,请阅读有关列表理解的内容。
鏂囩珷鏉ユ簮锛�https://dev.to/achiengcindy/inntroduction-to-python-lists-26af