如何使用Python列表数据类型



Python随附了一组内置数据类型,这些数据类型使常见的数据整理操作变得容易。其中包括清单,一种简单但用途广泛的收藏类型。使用Python列表,您可以将Python对象分组在一维的行中,该行允许按位置访问对象,对其进行添加,删除,排序和细分。
在Python中定义列表很容易-只需使用方括号语法来指示列表中的项目。 list_of_ints = [1、2、3]列表中的项目也不必全部相同。它们可以是任何Python对象。
(这里假设3是一个函数。) list_of_objects = [“一个,两个,三个,{”四个“:4},无]请注意,列表中包含混合对象可能会对列表进行排序。我们稍后再讨论。
使用列表的最大原因是能够通过对象在列表中的位置查找对象。为此,您可以使用Python的索引符号:方括号中的数字,从0开始,表示项目在列表中的位置。 对于上面的示例,list_of_ints [0]产生1。
list_of_ints [1]产生2。list_of_objects [4]将是None对象。 如果对索引使用正整数,则整数表示要查找的项目的位置。
但是,如果使用负整数,则整数表示从列表末尾开始的位置。例如,无论列表大小如何,使用索引-1都是从列表中获取最后一项的便捷方法。 您还可以使用整数变量作为索引。
如果x = 0,则list_of_ints [x]产生1,依此类推。 Python提供了几种在列表中添加或删除项目的方法。 列表可分为新列表,称为切片。
Python的slice语法可让您指定要分割列表的哪一部分以及如何操作分割部分。 您在上面看到了如何使用方括号表示法从列表中获取单个项目:例如my_list [2]。切片使用具有相同索引符号(并遵循相同的索引规则)的变体:list_object [start:stop:step]。
这里有些例子。考虑以下列表: slice_list = [1,2,3,4,5,6,7,8,9,0] slice_list [0:5] = [1、2、3、4、5](请注意,我们在索引处停止4,而不是索引5!) slice_list [0:5:2] = [1、3、5]如果省略特定的切片索引,Python将采用默认值。省略起始索引,Python假定列表为起始: slice_list [:5] = [1、2、3、4、5] 取消停止索引,Python假定列表的结尾: slice_list [4:] = [5、6、7、8、9、0]步骤元素也可以是负数。 slice_list [::-1] = [0、9、8、7、6、5、4、3、2、1]请注意,您可以使用向后而不是向前的开始和停止索引来反向切片: slice_list [5:2:-1] = [6,5,4]另外请记住,列表切片是原始列表的副本。原始列表保持不变。 Python提供了两种对列表进行排序的方法:您可以从旧列表中生成一个新的排序列表,也可以就地对现有列表进行排序。
这些选项具有不同的行为和不同的使用场景。 要创建新的排序列表,请使用旧列表上的sorted()函数: 这将使用Python的默认排序方法对列表的内容进行排序。对于字符串,默认值为字母顺序;对于数字,它是一个递增的值。
请注意,列表的内容必须保持一致才能起作用。例如,您不能对整数和字符串进行混合排序,但是可以对全为整数或所有字符串的列表进行排序。否则,您会在排序操作中收到TypeError。
如果要对列表进行反向排序,请传递反向参数: 排序的另一种方法是就地排序,直接在原始列表上执行排序操作。为此,请使用列表的.sort()方法: 。
sort()也将反向作为参数,使您可以反向排序。 sorted()和.sort()都具有键参数。
key参数可让您提供可用于执行自定义排序操作​​的功能。对列表进行排序时,每个元素都传递给key函数,并将结果值用于排序。例如,如果我们混合使用整数和字符串,并且想要对它们进行排序,则可以像这样使用key: mixed_list = [1,“ 2”,3,“ 4”,无] def sort_mixed(item):尝试:返回int(item),除了:return 0sorted_list = sorted(mixed_list,key = sort_mixed)print(sorted_list)注意代码不会将列表中的每个元素转换为整数!相反,它将使用每个项目的整数值作为其排序值。
还请注意,我们如何使用try / except块来捕获所有不能完全转换为整数的值,并在默认情况下为它们返回0 。 了解Python中的列表的重要一件事是它们不是“数组”。其他语言,例如C,具有称为数组的一维或多维结构,它们接受单一类型的值。
列表是异构的;列表是异类的。他们可以接受任何类型的对象。 此外,Python中还有一个单独的数组类型。 Python数组旨在模拟C语言中数组的行为,主要是为了允许Python与C数组一起使用。我要使用列表。 那么什么时候Python列表最有用?在以下情况下,列表是最佳的: 在以下情况下,Python列表不太适合:

Yorumlar

Bu blogdaki popüler yayınlar

只需50美元即可训练成为一名熟练的Python编码器

DataStax 使 Astra 流媒体服务普遍可用

TypeScript 4.1 Beta带来了模板文字类型