列表的相关知识点

一:列表的类型转换

要点:列表类型转换只支持能够for循环的数据类型

# 1.元组
print(list((1, 2, 3, 4, 5)), type(list((1, 2, 3, 4, 5))))
# 运行结果:[1, 2, 3, 4, 5] <class 'list'>

# 2.字符串
print(list('nihao'), type(list('nihao')))
# 运行结果:['n', 'i', 'h', 'a', 'o'] <class 'list'>

# 3.集合
print(list({1, 2, 3, 4, 5}), type(list({1, 2, 3, 4, 5})))
# 运行结果;[1, 2, 3, 4, 5] <class 'list'>

# 4.字典
print(list({'name': 'zhang', 'age': 18}), type(list({'name': 'zhang', 'age': 18})))
# 运行结果:['name', 'age'] <class 'list'>

二:索引取值

l1 = [1, 'zhang', 3, 4, 5, 6, [9, 8, 7]]

# 1.索引取值
print(l1[2])
# 运行结果:3
print(l1[100])  # 超过范围会报错

三.切片取值

# 2.切片取值(和字符串取值的方法一样,只是取到的最单位是一个数据值)
print(l1[:])  # 这个是取到整个列表中的值
# 运行结果:[1, 'zhang', 3, 4, 5, 6, [9, 8, 7]]

print(l1[1:5])  # 1表示开始取值的索引(包含),5表示结束取值的索引(不包含)
# 运行结果:['zhang', 3, 4, 5]

print(l1[-4:-1])  # -4表示开始取值的索引(包含),-1表示结束取值的索引(不包含)
# 运行结果:[4, 5, 6]

print(l1[-1:-4:-1])  # -1表示开始取值的索引(包含),-4表示结束取值的索引(不包含),-1决定取值的方向是从右往左
# 运行结果:[[9, 8, 7], 6, 5]

print(l1[::2])  # 2表示间隔数
# 运行结果:[1, 3, 5, [9, 8, 7]]

四.修改值

l1 = [1, 'zhang', 3, 4, 5, 6, [9, 8, 7]]
l1[6] = 100000
print(l1)

五.增加值

# 方法1:尾部追加元素
new_list.append(2)
print(new_list)
# [0, 2]

# 方法2:插入元素
new_list1 = [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]
new_list1.insert(5, 3)  # 5表示要插入数据值的索引,3是要插入的值
print(new_list1)
# [1, 1, 1, 1, 1, 3, 1, 1, 1, 1, 1, 1, 1]
new_list1.insert(100, 3)  # 当索引大于列表当前最大索引时,值会插入到列表最后,而不报错
print(new_list1)
# [1, 1, 1, 1, 1, 3, 1, 1, 1, 1, 1, 1, 1, 3]

# 方法3:扩展元素
new_list1.extend([111, 111, 111, 111, 111, 111, 111])  # 会将新的列表的值全部添加都要添加的列表中去
print(new_list1)
# [1, 1, 1, 1, 1, 3, 1, 1, 1, 1, 1, 1, 1, 3, 111, 111, 111, 111, 111, 111, 111]

六.删除值

l1 = [1, 2, 3, 4, 5, 6, 7, 8]
# 方法1:根据索引删除元素
del l1[0]
print(l1)
# [2, 3, 4, 5, 6, 7, 8]

# 2.方法2:通过值移除元素
l2 = [1, 2, 3, 4, 5, 6, 7, 8]
l2.remove(8)
print(l2)
# [1, 2, 3, 4, 5, 6, 7]

# 方法3:通过索引弹出元素
l3 = [1, 2, 3, 4, 5, 6, 7, 8]
print(l3.pop(0))
# 1

七.其他补充方法

# 1.清空列表
l1 = [1, 2, 3, 4, 5, 6]
l1.clear()
print(l1)
# []

# 2.统计元素出现的次数
l1 = [1, 2, 3, 4, 5, 6, 6, 6]
print(l1.count(6))
# 3

# 3.逆转列表
l1 = [1, 2, 3, 4, 5, 6, 6, 6]
l1.reverse()
print(l1)
# [6, 6, 6, 5, 4, 3, 2, 1]

# 4.复制一个新列表
l1 = [1, 2, 3, 4, 5, 6, 6, 6]
l2 = l1.copy()
print(l2)
# [1, 2, 3, 4, 5, 6, 6, 6]

# 5.查找索引(从前往后依次查,查到第一个将不再往下查)
l1 = [1, 2, 3, 4, 5, 6, 6, 6]
print(l1.index(6))  
# 5

# 6.排序
l1 = [4, 1, 6, 9, 3, 10, 7]
# 升序排序
l1.sort(reverse=False)
print(l1)
# [1, 3, 4, 6, 7, 9, 10]


l2 = [4, 1, 6, 9, 3, 10, 7]
# 降序排序
l2.sort(reverse=True)
print(l2)
# [10, 9, 7, 6, 4, 3, 1]
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Java面向对象的相关知识点包括以下几个方面: 1. 对象的概念:Java中的对象是一种特殊的变量,除了可以存储数据外,还可以对自身进行操作。每个对象都有自己的状态特征(属性)和行为特征(方法)。 2. 类和对象的关系:类是对象的模板,对象是类的实例。通过定义类,可以创建多个对象来表示现实生活中的事物。 3. 方法的调用:通过对象名加操作符来调用类中的方法。例如,对象.方法(实际参数列表)。 4. 匿名对象:匿名对象是没有对象名称的对象,它只能使用一次,然后被垃圾回收。可以通过匿名对象的方式完成一次性的操作。 5. 内部类:Java中的内部类是定义在其他类内部的类。内部类可以访问外部类的成员,包括私有成员。 6. 包装类:Java中的包装类是用来将基本数据类型转换为对象的类。包装类提供了一些方法来操作基本数据类型。 以上是Java面向对象的一些基本知识点。通过理解和掌握这些知识,可以更好地使用Java进行面向对象的编程。 #### 引用[.reference_title] - *1* *2* *3* [Java面向对象(知识点整理)](https://blog.csdn.net/yang642019851/article/details/113928312)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^control_2,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值