python--组合数据类型(2.2)

77 阅读3分钟

添加列表元素

添加列表元素是一种常见的列表操作,python有append()、extend()、insret()这几个方法实现添加元素。

1.append()方法

append()方法用于在列表末尾添加一个新元素,该方法需要接受一个参数,即要添加的新元素,新元素的类型是任意的。示例代码:

list_one = [1,2,3,4]
list_one.append(5)
print(list_one)
list_one.append(['论语','诗经'])
print(list_one)

运行结果:

[1,2,3,4,5]
[1,2,3,4,['论语','诗经']]

2.extend()方法

extend()方法用于将另一个序列中的每个元素逐个添加到列表末尾,实现对原列表的扩列。示例代码:

list_str = ['a','b','c']
list_num = [1,2,3]
list_str.extend(list_num)
print(list_num)
pritt(list_str)

运行结果:

[1,2,3]
['a','b','c',1,2,3]

3.insert()方法

  • 用于在列表指定位置插入新元素,插入位置后的元素会依次向后移动。
  • 若新元素是列表、元组、字典等,会被视为一个整体插入。
  • 若指定位置超出列表长度:
  • 正数超出 → 插入到结尾;
  • 负数超出 → 插入到开头。

示例代码:

names = ['小明', '小红', '小兰']

# 在索引2的位置插入新元素'小白'
names.insert(2, '小白')
print(names)

# 在索引1的位置插入新元素元组('张三', '李四')
names.insert(1, ('张三', '李四'))
print(names)

# 在位置10(超出列表长度)插入'王五'(实际插入到末尾)
names.insert(10, '王五')
print(names)

# 在位置-10(超出负索引范围)插入'王五'(实际插入到开头)
names.insert(-10, '王五')
print(names)

运行结果:

['小明', '小红', '小白', '小兰']
['小明', ('张三', '李四'), '小红', '小白', '小兰']
['小明', ('张三', '李四'), '小红', '小白', '小兰', '王五']
['王五', '小明', ('张三', '李四'), '小红', '小白', '小兰', '王五']

列表元素排序

列表元素排序是对列表中的元素按照一定规则进行重新排列的操作,python中列表排序常用的方法有sort()、sored()、reverse()

1.sort()方法

  • 作用:按特定顺序对列表所有元素排序,排序后覆盖原列表,不产生新列表。

  • 语法: sort(key=None, reverse=False) 

  • 参数含义:

  •  key :指定排序规则,默认 None (按元素值排序:数字比大小、字符串比字母顺序);可传函数(如 key=len 按元素长度排序)。

  •  reverse :控制排序方式, False (默认,升序)、 True (降序)。

    示例代码:

li_one = [6, 2, 5, 3]
li_two = [7, 3, 5, 4]
li_three = ['python', 'java', 'php']

li_one.sort()                  # 升序排序
li_two.sort(reverse=True)      # 降序排序
li_three.sort(key=len)         # 按元素长度排序

print(li_one)
print(li_two)
print(li_three)

运行结果:

[2, 3, 5, 6] 
[7, 5, 4, 3] 
['php', 'java', 'python'

2.sorted方法

作用:按升序排列列表元素,返回新的排序后列表,不会修改原列表。

示例代码:

li_one = [4, 3, 2, 1]
li_two = sorted(li_one)  # 升序排序li_one,结果存入li_two
print(li_one)  
print(li_two)  

运行结果:

[4, 3, 2, 1]
[1, 2, 3, 4]

补充说明:原列表 li_one 未被修改,排序后的结果仅存在于新变量 li_two 中

3.reverse()方法

作用:用于逆置列表,将原列表中的元素从右至左依次排列(即倒序排列)。

  • 特点:直接修改原列表,不会生成新列表。

示例代码:

li_one = ['a', 'b', 'c', 'd']
li_one.reverse()  # 对原列表执行逆置操作
print(li_one)

运行结果:

['d', 'c', 'b', 'a'