python入门系列6:list(列表)


list
python 中一般把它翻译为列表.

list 是 python 中用途最广的一种数据结构。

list 可以存储多个数据,这些数据用 [ ] 包裹,各个数据之间用 , 分割。

list中的元素可以是任意类型的,但是实际使用的时,一个list 中一般只存储一种数据类型的数据。

list 中可以存储的元素是有顺序的,且允许重复。

list 中的元素也可以更改。


2.1 声明 list

nums = [10, 20, 40, 30, 25]
print(nums)


内置函数 len 也可以获取到 list 的长度


2.2 使用索引和切片

和字符串一样,list 也支持索引读取和切片。其实内置的序列类型都支持这样的操作

nums = [10, 20, 40, 30, 25]
print(nums[1])
print(nums[-3])
print(nums[:3])
print(nums[1:])

注意:

​ 所有的切片操作都是返回一个新的 list ,所以我们可以通过切片非常轻松的 copy 一个list

nums = [10, 20, 40, 30, 25]
new_nums = nums[:] # 复制 list nums
print(new_nums)

注意:
这里的复制是浅复制. 其实以后你会发现在, 几乎所有的复制都是浅复制, 如果要深复制, 需要自己递归实现.


2.3 连接 list

list 可以像字符串那样通过 + 连接。得到的新的 list 包含了参与运算的两个 list 中所有元素

nums1 = [10, 20, 40, 30, 25]
nums2 = [100, 200]
num12 = nums1 + nums2
print(num12)


2.4 修改list 中的元素

list 和字符串不太一样。字符串是不可变的。 而list 是可变的。

我们可以通过索引去更改指定索引位置的元素的值

nums1 = [10, 20, 40, 30, 25]
nums1[2] = 200
print(nums1)


2.5 向 list中添加元素和从 list 中删除元素

list.append(value)list 的末尾添加元素

list.pop([index]) 把指定索引位置的元素删除. 如果不传入参数就是删除最后一个元素

list.insert(index, ele) 把元素 ele 插入到指定的 index 位置。原来的元素会自动右移动

nums1 = [10, 20, 40, 30, 25]
nums1.append(1000)
print(nums1)
nums1.pop(0)
print(nums1)
nums1.insert(2, 2000)
print(nums1)

还有一种删除元素的办法:使用 del 运算符

nums1 = [10, 20, 40, 30, 25]
del nums1[0]
print(nums1)
del nums1[0:2]
print(nums1)


通过切片也可以修改 list 中的元素,甚至清空 list

nums1 = [10, 20, 40, 30, 25]
nums1[:2] = ["A", "B", "C"] # 下标0、1的元素用 ["A", "B", "C"] 去替换
print(nums1)
nums1[:] = [] # clear list
print(nums1)


2.6 支持innot in

nums1 = [10, 20, 40, 30, 25]
print(20 in nums1) # True
print(20 not in nums1) # False

2.7 嵌套(nested)的list

嵌套的意思是,列表中的元素也可以是列表。

因为列表中的元素可以是任意类型,所以嵌套也是很容易理解的。

nums = [[1, 2], [3, 4], [20, 10]]
print(nums)

print(nums[0][0])
print(nums[1][1])


2.7 列表推导(List Comprehensions)

列表推导,有人也叫列表包含。

他提供了一种更加简洁的方式去创建列表。

列表推导的语法:

[表达式 for item in 序列]

说明:

会对序列中的每个 item 执行表达式, 然后把值存入到一个新的列表中.


nums = [x**3 for x in range(10)]
print(nums)

上面的代码相当于:

nums = []
for x in range(10):
    nums.append(x ** 3)

列表推导的时候也可以添加条件

nums = [x ** 2 for x in range(20) if x % 2 == 0]
print(nums)

列表推导也支持for 的嵌套

s1 = ["a", "b", "c"]
s2 = [20, 30]

s3 = [x + str(y) for x in s1 for y in s2]
print(s3)

注意:

得到的列表的长度是一种笛卡尔积. 也就是说新列表的长度是原列表的长度的乘积.


2.8 总结

通过以上的学习,我们可以看到strlist有许多通用的特点:都支持索引和切片

由于字符串是不可变对象,所以字符串没有删除的操作。list是可变的,所以提供了删除的操作。

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
列表List)是Python中最常用的数据类型之一,它是一种有序、可变的集合,可以存储任意类型的元素。在Python中,列表用方括号[]括起来,元素之间用逗号隔开。 列表有很多强大的操作方法,可以灵活地处理列表中的元素。下面我来介绍一些常用的列表操作方法,帮助你玩转列表。 1. 访问列表元素:可以通过索引来访问列表中的元素,索引从0开始。例如,如果有一个列表a,可以通过a[0]来访问第一个元素。 2. 修改列表元素:可以通过索引来修改列表中的元素。例如,可以通过a[0] = 1来将第一个元素改为1。 3. 切片操作:可以通过切片操作来获取列表中的一部分元素。例如,a[1:3]表示获取索引为1和2的元素。 4. 添加元素:可以使用append()方法向列表末尾添加一个元素,也可以使用insert()方法在指定位置插入元素。 5. 删除元素:可以使用del语句删除列表中的一个或多个元素,也可以使用remove()方法删除指定的元素。 6. 列表长度:可以使用len()方法获取列表的长度,即列表元素的个数。 7. 列表排序:可以使用sort()方法对列表进行排序,默认为升序排序。 8. 列表反转:可以使用reverse()方法将列表中的元素反转。 9. 列表复制:可以使用copy()方法来复制一个列表。 10. 列表遍历:可以使用for循环来遍历列表中的元素列表Python中非常重要和常用的数据结构,掌握了列表的基本操作方法,可以更好地处理和管理数据。希望这些方法能帮助你更好地玩转列表,提高编程效率。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值