Rumah >pembangunan bahagian belakang >Tutorial Python >Ringkasan terperinci: Python menyenaraikan mata pengetahuan
Artikel ini membawa anda pengetahuan yang berkaitan tentang Python terutamanya memperkenalkan beberapa pengetahuan tentang senarai, termasuk membuat senarai, mengakses elemen senarai dan melakukan beberapa penyelidikan tentang fungsi dan kaedah senarai terbina dalam , dan akhirnya terdapat ringkasan pengetahuan tentang senarai itu. Saya harap ia akan membantu semua orang.
[Cadangan berkaitan: Tutorial video Python3]
Senarai ialah koleksi tersusun dan boleh diubah dan merupakan jenis data Python yang paling biasa digunakan. Dalam Python, senarai ditulis menggunakan kurungan segi empat sama []
.
Dalam Python, jenis data elemen dalam senarai boleh berbeza dan boleh termasuk integer, nombor titik terapung, nombor kompleks, dll., sudah tentu, ia juga boleh mengandungi Senarai, tupel, kamus dan set, dsb.
Untuk membuat senarai, anda hanya perlu melampirkan item data berbeza yang dipisahkan dengan koma menggunakan kurungan segi empat sama [] Itu sahaja.
list0 = []
list1 = ['Baidu', 'Alibaba', 'Tencent']
this_list = list(('apple', 'banana', 'cherry'))
Nota: Apabila menggunakan fungsi list() untuk mencipta senarai, pastikan anda memberi perhatian kepada kurungan berganda .
adalah sama dengan senarai, kita boleh menggunakan Anda boleh menggunakan indeks untuk mengakses elemen dalam senarai (dapatkan nilai elemen), atau anda boleh menggunakan slice untuk mengakses sekumpulan elemen dalam senarai ( dapatkan subsenarai).
Indeks subskrip Tuple akses terbahagi kepada dua kategori iaitu Indeks hadapan dan indeks terbalik , formatnya ialah list_name[i]
, di mana list_name mewakili nama senarai, i mewakili nilai indeks, i boleh menjadi nombor positif (indeks hadapan) atau nombor negatif (indeks terbalik).
Boleh diketahui bahawa list_name[0]
mewakili elemen pertama senarai, dan list_name[-1]
mewakili elemen terakhir senarai.
list_name = ['wzq', 'lgl', 'gz', 'whl', 'sj', 'hxw']print(list_name[0])print(list_name[-1])
wzq hxw
Indeks hadapan: bermula dari yang pertama (subskrip 0), yang kedua (subskrip 1)...
Indeks songsang: bermula dari Yang pertama hingga terakhir (subskrip -1), kedua hingga terakhir (subskrip -2)...
Seperti yang diterangkan di atas Jika anda tidak' Saya tidak faham, anda boleh rujuk jadual berikut:
元组值 | wzq | lgl | gz | whl | sj | hxw |
---|---|---|---|---|---|---|
正向索引 | 0 | 1 | 2 | 3 | 4 | 5 |
反向索引 | -6 | -5 | -4 | -3 | -2 | -1 |
使用切片访问列表的格式为 list_name[strat : end : step]
,其中,start 表示起始索引,end 表示结束索引,step 表示步长。
list_name = ['wzq', 'lgl', 'gz', 'whl', 'sj', 'hxw']print(list_name[1:5:2])print(list_name[-6:-1:3])
['lgl', 'whl']['wzq', 'whl']
在使用切片访问列表元素时,
list_name[strat : end : step]
,[start:end] 是左闭右开区间,即访问不了 end 代表的元素。
可以使用 for 循环遍历列表中的项目:
fruit_list = ['apple', 'pear', 'cherry']for i in fruit_list: print(i)
apple pear cherry
要确定列表中是否存在指定的项,我们可以使用 in 关键字:
# 检查列表中是否存在'apple'fruit_list = ['apple', 'pear', 'cherry']print('apple' in fruit_list)
True
使用 in 关键字检查列表中是否存在指定项时,如果存在,则返回 True ;反之,则返回 False 。
当我们创建列表后,我们可以对列表中的数据项进行修改或更新,当然我们也可以使用 append() 方法来添加列表项。
fruit_list = ['apple', 'pear', 'cherry']fruit_list[2] = 'banana'print(fruit_list)
['apple', 'pear', 'banana']
注意:元组一旦创建后,其值将无法被更改,但是有其他解决方法。
与字符串一样,列表之间可以使用 +
号和 *
号实现元组的连接和复制,这就意味着它们可以生成一个新的列表。
1、+
连接(合并)
x = [1, 2, 3]y = [4, 5, 6]print(x + y)
[1, 2, 3, 4, 5, 6]
2、*
复制
x = ['Hello']print(x * 5)
['Hello', 'Hello', 'Hello', 'Hello', 'Hello']
使用嵌套列表即在列表里面创建其他列表。
x = [1, 2, 3]y = ['a', 'b', 'c']z = [x, y]print(z)
[[1, 2, 3], ['a', 'b', 'c']]
列表比较需要引入 operator 模块的 eq 方法。
# 导入 operator 模块import operator a = [1, 2]b = [2, 3]c = [2, 3]print("operator.eq(a, b):", operator.eq(a, b))print("operator.eq(b, c):", operator.eq(b, c))
operator.eq(a, b): Falseoperator.eq(b, c): True
1、print()
函数
print() 函数的功能我们已经非常熟悉了,就是打印输出。
my_list = ['pink', True, 1.78, 65]print(my_list)
['pink', True, 1.78, 65]
2、len()
函数
当我们要确定一个列表有多少项目(元素)时,可以使用len()
函数。
fruit_list = ['apple', 'banana', 'cherry']print(len(fruit_list))
3、type()
函数
使用 type() 函数可以确定变量是什么类型(字符串、列表、元组、字典或集合)。
info_list = ['name', 'gender', 'age', 'height', 'weight']print(type(info_list))
<class &#39;list&#39;>
当对
info_list
使用 type() 确定变量类型时,会返回<class &#39;list&#39;>
,表明这是一个列表。
4、tuple()
函数
tuple() 函数的功能是,将其他类型转换为元组类型,详细用法如下:
str1 = 'Hello Python'print(list(str1))
['H', 'e', 'l', 'l', 'o', ' ', 'P', 'y', 't', 'h', 'o', 'n']
tuple1 = ('Hello', 'Python')print(list(tuple1))
['Hello', 'Python']
dict1 = {'Hello': 'Python', 'name': 'pink'}print(list(dict1))
['Hello', 'name']
set1 = {'Hello', 'Python', 'name', 'pink'}print(list(set1))
['Python', 'name', 'pink', 'Hello']
range1 = range(1, 6)print(list(range1))
[1, 2, 3, 4, 5]
5、max()
函数和min()
函数
max() 函数的作用是返回列表中元素最大值。min() 函数的作用是返回列表中元素最小值。
list1 = [4, 6, 2, 0, -5]print(max(list1))print(min(list1))list2 = ['a', 'z', 'A', 'Z']print(max(list2))print(min(list2))
6-5z A
我们可以使用 del list_name[i]
来删除某个指定元素,其中 list_name 表示列表名,i 表示指定值的索引值。
list_de = ['Baidu', 'Alibaba', 'Tencent', 'Bytedance']del list_de[1]print(list_de)
['Baidu', 'Tencent', 'Bytedance']
del 函数不仅可以实现删除某个元素,还可以删除整个列表。
list_de = ['Baidu', 'Alibaba', 'Tencent', 'Bytedance']del list_de
当我们使用 del 函数删除某列表后,再使用 print() 函数打印输出时,会报错
NameError: name 'list_de' is not defined
,表明该列表未被定义。
1、append()
方法
append() 方法用于在列表末尾添加新的对象。
语法
list.append(element)
参数值
参数 | 描述 |
---|---|
element | 必需。任何类型(字符串、数字、对象等)的元素。 |
实例
fruit_list = ['apple', 'banana', 'cherry']fruit_list.append('pear')print(fruit_list)
['apple', 'banana', 'cherry', 'pear']
x = [1, 2, 3]y = ['A', 'B', 'C']x.append(y)print(x)
[1, 2, 3, ['A', 'B', 'C']]
2、insert()
方法
insert() 方法用于将指定对象插入列表的指定位置。
语法
list.insert(position, element)
参数值
参数 | 描述 |
---|---|
position | 必需。数字,指定在哪个位置插入值。 |
element | 必需。元素,任何类型(字符串、数字、对象等)。 |
实例
fruits = ['apple', 'banana', 'cherry']fruits.insert(1, "orange")print(fruits)
['apple', 'orange', 'banana', 'cherry']
x = [1, 2, 3]y = ['a', 'c']x.insert(0, y)print(x)
[['a', 'c'], 1, 2, 3]
append() 只能在末尾处添加元素或列表,insert() 可以在任意位置添加元素或列表。
3、extend()
方法
extend() 方法用于在列表末尾一次性追加另一个序列中的多个值(用新列表扩展原来的列表)。
语法
list.extend(iterable)
参数值
参数 | 描述 |
---|---|
iterable | 必需。任何可迭代对象(列表、集合、元组等)。 |
实例
aver = ['A', 'B', 'C']
str1 = 'Hello'aver.extend(str1)print(aver)
['A', 'B', 'C', 'H', 'e', 'l', 'l', 'o']
list1 = [1, 2, 3]aver.extend(list1)print(aver)
['A', 'B', 'C', 1, 2, 3]
tuple1 = (1, 2, 3)aver.extend(tuple1)print(aver)
['A', 'B', 'C', 1, 2, 3]
dict1 = {'name': 'pink', 'gender': True}aver.extend(dict1)print(aver)
['A', 'B', 'C', 'name', 'gender']
set1 = {1, 2, 3}aver.extend(set1)print(aver)
['A', 'B', 'C', 1, 2, 3]
range1 = range(1,10)aver.extend(range1)print(aver)
['A', 'B', 'C', 1, 2, 3, 4, 5, 6, 7, 8, 9]
count() 方法用于统计某个元素在列表中出现的次数。
语法
list.count(value)
参数值
参数 | 描述 |
---|---|
value | 必需。任何类型(字符串、数字、列表、元组等)。要搜索的值。 |
实例
num = [1, 4, 2, 9, 7, 8, 9, 3, 1]print(num.count(9))
2
index() 方法用于从列表中找出某个值第一个匹配项的索引位置。
语法
list.index(element)
参数值
参数 | 描述 |
---|---|
element | 必需。任何类型(字符串、数字、列表等)。要搜索的值。 |
实例
num = [4, 55, 64, 32, 16, 32]print(num.index(32))
3
当被搜索值在列表中多次出现时,仅返回首次出现的位置。
sort() 方法用于对原列表进行排序,如果指定参数,则使用比较函数指定的比较函数。
语法
list.sort(reverse=True|False, key=myFunc)
参数值
参数 | 描述 |
---|---|
reverse | 可选。reverse=True 将对列表进行降序排序。默认是 reverse=False。 |
key | 可选。指定排序标准的函数。 |
实例
words = ['Name', 'Gender', 'Age', 'Height', 'Weight']words.sort()print(words)
['Age', 'Gender', 'Height', 'Name', 'Weight']
words = ['Name', 'Gender', 'Age', 'Height', 'Weight']words.sort(reverse=True)print(words)
['Weight', 'Name', 'Height', 'Gender', 'Age']
# 返回值的长度的函数:def myfunc(e): return len(e)words = ['a', 'bb', 'ccc', 'dddd', '']words.sort(key=myfunc)print(words)
['', 'a', 'bb', 'ccc', 'dddd']
# 返回 'year' 值的函数:def myfunc(e): return e['year']words = [ {'char': 'a', 'year': 1963}, {'char': 'b', 'year': 2010}, {'char': 'c', 'year': 2019}]words.sort(key=myfunc)print(words)
[{'char': 'a', 'year': 1963}, {'char': 'b', 'year': 2010}, {'char': 'c', 'year': 2019}]
# 返回值的长度的函数:def myfunc(e): return len(e)words = ['aa', 'b', 'ccc', 'dddd']words.sort(reverse=True, key=myfunc)print(words)
['dddd', 'ccc', 'aa', 'b']
# 获取列表的第二个元素def takeSecond(elem): return elem[1]# 列表random = [(2, 2), (3, 4), (4, 1), (1, 3)]# 指定第二个元素排序random.sort(key=takeSecond)# 输出类别print('排序列表:', random)
排序列表: [(4, 1), (2, 2), (1, 3), (3, 4)]
copy() 方法用于复制列表,类似于 a[:]。
语法
list.copy()
参数值
无参数
实例
fruits = ['apple', 'banana', 'cherry', 'orange']x = fruits.copy()print(x)
['apple', 'banana', 'cherry', 'orange']
复制(制作副本)的另一种方法是使用内置函数 list() ,如下:
list1 = ['apple', 'banana', 'cherry']list_2 = list(list1)
reverse() 方法用于反向列表中元素。
语法
list.reverse()
参数值
无参数
实例
fruits = ['apple', 'banana', 'cherry']fruits.reverse()print(fruits)
['cherry', 'banana', 'apple']
1、pop()
方法
pop() 方法用于移除列表中的一个元素(默认最后一个元素),并且返回该元素的值。
语法
list.pop(pos)
参数值
参数 | 描述 |
---|---|
pos | 可选。数字,指定需删除元素的位置。默认值 -1,返回最后的项目。 |
实例
fruits = ['apple', 'banana', 'cherry']fruits.pop()print(fruits)
['apple', 'banana']
fruits = ['apple', 'banana', 'cherry']fruits.pop(1)print(fruits)
['apple', 'cherry']
2、remove()
方法
remove() 方法用于移除列表中某个值的第一个匹配项。
语法
list.remove(element)
参数值
参数 | 描述 |
---|---|
element | 必需。需删除的任何类型(字符串、数字、列表等)的元素。 |
实例
num = [1, 3, 2, 8, 3]num.remove(3)print(num)
[1, 2, 8, 3]
当被删除的元素在列表中存在多个时,默认删除首次出现的那个。
3、clear()
方法
clear() 方法用于清空列表,类似于 del a[:]。
语法
list.clear()
参数值
无参数
实例
word = ['A', 'B', 'C']word.clear()print(word)
[]
clear() 方法的作用是清空列表,执行结束后对其使用 printf() 打印输出时,会输出
[]
,说明列表还存在,只是空列表而已。del 函数的作用是删除列表,执行结束后对其使用 printf() 打印输出时,会报错
NameError: name 'word' is not defined.
。
函数 | 描述 |
---|---|
print() | 打印输出 |
len() | 确定列表项目 |
type() | 返回变量类型 |
list() | 转换为列表 |
max() | 返回列表元素最大值 |
min() | 返回列表元素最小值 |
del | 删除列表 |
方法 | 描述 |
---|---|
append(obj) | 在列表末尾添加新的对象 |
insert(index, obj) | 在指定位置添加元素 |
extend(seq) | 将列表元素(或任何可迭代的元素)添加到当前列表的末尾 |
count(obj) | 统计某个元素在列表中出现的次数 |
index(obj) | 返回具有指定值的第一个元素的索引 |
sort( key=None, reverse=False) | 对原列表进行排序 |
copy() | 复制列表 |
reverse() | 颠倒列表的顺序 |
pop([-1]) | 移除列表中的一个元素(默认最后一个元素),并且返回该元素的值 |
remove(obj) | 移除列表中某个值的第一个匹配项 |
clear() | 清空列表 |
【相关推荐:Python3视频教程 】
Atas ialah kandungan terperinci Ringkasan terperinci: Python menyenaraikan mata pengetahuan. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!