python疑难杂症(4)——列表操作的补充:创建、拼接、访问等

        前言:列表是python重要的内置数据类型,其属性和操作是numpy外置类型的基础,理解好了列表这种类型,更有利于理解数据表的概念和操作,在将列表的属性、特性、已经创建、增删改查询等内容做一次全面的介绍,供参考学习。

列表是 Python 中的 4 种内置数据类型之一,用于存储数据集合,其他 3 种分别是元组(Tuple)、集合(Set)和字典(Dictionary),它们具有不同的特性和用途。

列表(List)是一种有序和可更改的集合。允许重复的成员。

元组(Tuple)是一种有序且不可更改的集合。允许重复的成员。

集合(Set)是一个无序和无索引的集合。没有重复的成员。

词典(Dictionary)是一个无序,可变和有索引的集合。没有重复的成员。

有序:当我们说列表是有序时,意味着项目有一个定义的顺序,而且该顺序不会改变。

可变:列表是可变的,这意味着我们可以在创建列表后更改、添加和删除项目。

允许重复:由于列表具有索引,所以列表可以包含具有相同值的项目。

列表项具有索引,第一项的索引为[0],第二项的索引为[1],依此类推。

        列表是由 [ ] 括起来,由一系列按特定顺序排列的值组成的,这些值可以是整数、浮点数、字符串,或另一个列表,甚至是不同类型的数据都可以被容纳在列表中。通过type() 函数,列表被定义为具有数据类型 ‘list’ 的对象。

1)、创建列表:

使用 [] 创建

list1 = [1, 2, 3, 4, 5,6]

list2 = ['a', 'b', 'c', 'd', 'e',’f’]

list3 = [6, 'a', 2.5]

使用 range()函数

创建一个包含一系列数值的列表,可以使用 range()函数生成一个数值序列,再通过 list()函数将其转换为列表。

num = list(range(1, 10))

print("数值列表:", num)

使用 list() 构造函数创建列表

list1 = list(("a", "b", "c"))  # 注意双重圆括号

print(list1)

type(list1)

使用切片创建新表:

fruits = ['apple', 'banana', 'cherry', 'date', 'elderberry']

copy_fruits = fruits[:]

print("复制列表:", copy_fruits)

sublist = fruits[1:4]

使用 copy() 方法创建新表:

thislist = ["apple", "banana", "cherry"]

mylist = thislist.copy()

2)、列表拼接

在Python中,有多种方法可以连接两个或多个列表。其中一种最简单的方法是使用 + 运算符。

示例,连接两个列表:

list1 = ["a", "b", "c"]

list2 = [1, 2, 3]

list3 = list1 + list2

print(list3)

另一种连接两个列表的方法是将 list2 中的所有项逐一附加到 list1 中:

示例,将 list2 附加到 list1:

list1 = ["a", "b" , "c"]

list2 = [1, 2, 3]

for x in list2:

  list1.append(x)

print(list1)

或者您可以使用 extend() 方法,其目的是将一个列表的元素添加到另一个列表中:

示例,使用 extend() 方法将 list2 添加到 list1 的末尾:

list1 = ["a", "b" , "c"]

list2 = [1, 2, 3]

list1.extend(list2)

print(list1)

3)、列表访问:

列表是有序的,你可以使用索引或者切片来访问列表元素,列表的索引从0开始,表示列表中第一个元素的位置。还可以通过负的来从末尾往前定位元素的位置,-1为最后的一个。

numbers = [1, 2, 3, 4, 5,6,7]

first_number = numbers[0]

last_number = numbers[-1]

print("第一个数字:", first_number)     #:  第一个数字: 1

print("最后一个数字:", last_number)  #: 最后一个数字: 7

切片访问:切片操作来处理列表的一部分元素,切片操作使用方括号和冒号(:)来指定起始索引和结束索引。起始索引表示切片子列表的第一个元素的位置,结束索引表示要该索引的上一个位置。其取值是半封闭的,即前闭后开的原则,前面包含,后面不包含,[1:3]取得1,2的索引,不取3的索引,切片访问生成的表赋值给一个新变量,会产生一个新表。

fruits = ['apple', 'banana', 'cherry', 'date', 'elderberry']

sublist = fruits[1:4]

print("子列表:", sublist)  #输出:子列表: ['banana', 'cherry', 'date']

copy_fruits = fruits[:]

print("复制列表:", copy_fruits)

负的索引:负索引表示从末尾开始,-1 表示最后一个项目,-2 表示倒数第二个项目,依此类推。

my_list = ["Python", "李白", 1024]

print(my_list[-1])   #  输出:1024

您不能简单地通过键入 list2 = list1 来复制一个列表,因为:list2 将只是对 list1 的引用,对 list1 进行的更改也会自动在 list2 中进行。有多种方法可以进行复制,其中一种方法是使用内置的列表方法 copy()。通过ID()查看列表地址,可以知道是否和原来的列表是否一个。

示例,使用 copy() 方法复制一个列表:

thislist = ["apple", "banana", "cherry"]

mylist = thislist.copy()

print(mylist)

print(id(thislist))

print(id(mylist))

输出:79689664

          79716928

可见产生了新表,位置地址不一样。

另一种复制的方法是使用内置的 list() 方法。

示例,使用 list() 方法复制一个列表:

thislist = ["apple", "banana", "cherry"]

mylist = list(thislist)

print(mylist)

print(id(thislist))

print(id(mylist))

输出:

79443072
79998400
以后将逐渐依照数据分析、挖掘的过程讲解python的基本知识、疑难杂症、特色应用、例题试题、分析模块等内容,形成一个系列python从浅到深入知识系列,欢迎留言、建议和讨论。

如果有需要sas的有关知识也可以后面留言。

今天就到这里,下一期将介绍列表的修改、删除、遍历等内容。请收藏、关注并讨论。

  • 36
    点赞
  • 17
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值