python3 list (列表)用法

python 中列表 list 相当于 其他语言(like c/c++)中的数组,但是其有更丰富的操作方法。

定义及初始化

# 普通列表
name_list = ["小红", "wayne", "张华"]
animal_list = ["dog", "cat"]

# 嵌套列表
embedded_list = ["lily", "bob", ["anna", "alice"], "zebra"]
matrix = [[1, 2, 3], [2, 4, 5], [5, 6, 2]]

  • list.append() 在列表末尾添加元素
name_list.append("小华")  # 在 list 尾部添加元素 “小华”
# name_list = ['小红', 'wayne', '张华', ]

name_list.append(animal_list)
# name_list = ['小红', 'wayne', '张华', ["dog", "cat"]]
# 形成嵌套列表
  • list.extend() 在列表尾部增添列表(多个元素)
name_list.extend(animal_list) # 在 list 尾部添加另一list的元素
# name_list = ['小红', 'wayne', '张华', 'dog', 'cat']

如果 extend() 内参数写的是一个字符串,则会将该字符串中各字符当成字符逐个加到原 list 尾部

name_list.extend("小章")
# name_list = ['小红', 'wayne', '张华', '小', '章']
  • list.insert() 在列表某位置添加元素
name_list.insert(1, "vivian")  # 在列表第二个元素前添加元素 “vivian”
 # name_list = ['小红', 'vivian', 'wayne', '张华']

name_list.insert(1, animal_list)  # 在列表第二个元素前添加 list
 # name_list = ['小红', ["dog", "cat"], 'wayne', '张华']
 # 形成嵌套列表

  • list.remove()删除列表某元素,接收参数为元素值而非索引,若list中不存在传入参数则报错
name_list.remove("张华")
# name_list = ['小红', 'wayne']

name_list.remove("张皇")
# ValueError: list.remove(x): x not in list
  • list.pop(int)若有参则按索引删除某元素,无参则弹出最后一个元素
name_list.pop()
# name_list = ['小红', 'wayne']

name_list.pop(-2)
# name_list = ["小红", "张华"]
  • list.clear() 清空列表
name_list.clear()
# name_list = []
  • del list 直接从内存中删除数据
del name_list[1] # 相当于 name_list.pop(1)
# name_list = ["小红", "张华"]

del name_list # 彻底删除 name_list,变量名也不能再使用

del name_listname.clear()删除更彻底,clear 方法清空列表后,列表为空,还能重新添加元素,但 del 删除列表,连带列表名也一并从内存中抹去。

直接利用下标进行修改

name_list[-1] = "老铁"
# name_list = ['小红', 'wayne', '老铁']

  • list.count()接收参数为字符串,若 list 内有该元素则返回该元素的个数,否则返回 0

  • list.index()接收参数为字符串,若 list 内有该元素则返回该元素首次出现的位置索引,否则报错

排序

  • list.sort()对 list 内元素进行排序(默认升序)
name_list.sort()
# name_list = ['wayne', '小红', '张华']

name_list.sort(reverse=True)	# 降序排序
# name_list = ['wayne', '小红', '张华']

注意:嵌套列表不能使用 sort() 方法

其他

  • list.reverse()反转 list 所有元素

  • list.copy()用于复制列表

list1 = name_list.copy()
list2 = name_list

这两种方法都可初始化 list2,区别在于第一种方法使用 copy(),list1 元素有自己的内存副本,改变 list1并不会改变 name_list;而第二种方法直接赋值相当于list2是name_list 的别名(相当于C/C++中指针),name_list 会随 list2 的改变而改变。

遍历

方法一
for name in name_list:
	print(name)
方法二
for i in len(name_list):
	print(name_list[i])
迭代器方法
for i in iter(name_list):
	print(i)
枚举方法
for i in enumerate(name_list):
	print(i) 	# i[0] 为索引,i[1]为元素值
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值