【小白讲python】八、列表&元组&字典&集合

列表

  • Python中的列表是一种可变序列数据类型

(1)创建列表

  • 可以使用方括号创建一个空列表,也可以在方括号中添加元素创建一个包含指定元素的列表。
    例如:
empty_list = []
list_with_elements = [1, 2, 3, 'apple', 'orange']

(2)索引和切片

  • 可以通过索引来访问列表中的单个元素,索引从0开始计数。
  • 可以使用切片操作访问列表中一段连续的元素,
  • 其中第一个索引表示切片开始的位置(包含),第二个索引表示结束的位置(不包含)。
    例如:
my_list = [1, 2, 3, 'apple', 'orange']
print(my_list[0])  # 输出1
print(my_list[3])  # 输出'apple'
slice_result = my_list[1:4]
print(slice_result)  # 输出[2, 3, 'apple']

(3)列表方法

  • 列表是一种有用的数据结构,它有许多内置方法可以使用。这里只列举几个常用的方法:

    • append(value):在列表末尾添加一个元素;
    • extend(iterable):将可迭代对象中的元素添加到列表末尾;
    • insert(index, value):在指定位置插入一个元素;
    • remove(value):删除列表中第一个出现的指定元素;
    • pop():弹出并返回列表中最后一个元素;
    • index(value):返回第一个匹配到的元素的索引;
    • count(value):返回指定元素在列表中出现的次数。

例如:

my_list = [1, 2, 3]

my_list.append('apple')
print(my_list)  # 输出[1, 2, 3, 'apple']

my_list.extend(['orange', 'banana'])
print(my_list)  # 输出[1, 2, 3, 'apple', 'orange', 'banana']

my_list.insert(2, 'pear')
print(my_list)  # 输出[1, 2, 'pear', 3, 'apple', 'orange', 'banana']

my_list.remove('apple')
print(my_list)  # 输出[1, 2, 'pear', 3, 'orange', 'banana']

last_element = my_list.pop()
print(last_element)  # 输出'banana'
print(my_list)  # 输出[1, 2, 'pear', 3, 'orange']

orange_index = my_list.index('orange')
print(orange_index)  # 输出4

pear_count = my_list.count('pear')
print(pear_count)  # 输出1

(3)列表排序

  • 可以使用 sort() 方法对列表进行排序,
  • 也可以使用 sorted() 函数返回一个排序后的新列表。默认情况下,它按升序排序。
    例如:
numbers = [5, 2, 8, 6, 7]
numbers.sort()
print(numbers)  # 输出[2, 5, 6, 7, 8]

numbers_desc = sorted(numbers, reverse=True)
print(numbers_desc)  # 输出[8, 7, 6, 5, 2]

元组

元组(Tuple)是Python中的一种不可变序列数据类型,它可以存储任意类型的数据,包括数字、字符串和其他元组等

(1)创建元组

元组使用圆括号创建,也可以省略圆括号。
例如:

my_tuple = (1, 2, 3, 'apple', 'orange')
another_tuple = 4, 5, 6

(2)索引和切片

可以通过索引来访问元组中的单个元素,索引从0开始计数。
可以使用切片操作访问元组中一段连续的元素,其中第一个索引表示切片开始的位置(包含),第二个索引表示结束的位置(不包含)。
例如:

my_tuple = (1, 2, 3, 'apple', 'orange')

print(my_tuple[0])  # 输出1
print(my_tuple[3])  # 输出'apple'

slice_result = my_tuple[1:4]
print(slice_result)  # 输出(2, 3, 'apple')

(3)元组解包

可以将元组中的元素分别赋值给多个变量,这个过程叫做元组解包。需要注意的是,变量的数量必须与元组的长度相同。
例如:

my_tuple = (1, 2, 3)
x, y, z = my_tuple
print(x)  # 输出1
print(y)  # 输出2
print(z)  # 输出3

(4)元组方法

元组是一种不可变数据结构,因此没有太多常用的内置方法。
可以使用 count() 方法来返回指定元素在元组中出现的次数,
使用 index() 方法来返回第一个匹配到的元素的索引。
例如:

my_tuple = (1, 2, 3, 3, 4)

three_count = my_tuple.count(3)
print(three_count)  # 输出2

four_index = my_tuple.index(4)
print(four_index)  # 输出4

字典

字典(Dictionary)是Python中的一种数据结构,它用于存储无序、可变的键值对。以下是关于字典的一些基本知识点:

(1)创建字典

字典使用大括号来创建,每个键值对之间使用逗号分隔。
例如:

my_dict = {'name': 'Alice', 'age': 18, 'gender': 'female'}

(2)访问字典元素

可以通过键来访问字典中的值,如果键不存在,则会抛出异常。
也可以使用 get() 方法来访问字典中的值,如果键不存在,则返回默认值,不会抛出异常。
例如:

my_dict = {'name': 'Alice', 'age': 18, 'gender': 'female'}

print(my_dict['name'])       # 输出'Alice'
print(my_dict.get('height')) # 输出None

(3)修改字典元素

可以通过键来修改字典中的值,如果键不存在,则会在字典中新增一个键值对。
例如:

my_dict = {'name': 'Alice', 'age': 18, 'gender': 'female'}

my_dict['age'] = 19
my_dict['height'] = 170

print(my_dict)      # 输出{'name': 'Alice', 'age': 19, 'gender': 'female', 'height': 170}

(4)字典方法

  • 可以使用 keys() 方法来获取字典中所有的键,
  • 使用 values() 方法来获取字典中所有的值,
  • 使用 items() 方法来获取字典中所有的键值对。
  • 可以使用 pop() 方法来移除指定键的键值对,并返回对应的值,如果指定键不存在,则会抛出异常
  • 也可以使用 popitem() 方法来弹出并返回随机的键值对,如果字典为空,则会抛出异常
    例如:
my_dict = {'name': '小白讲python', 'age': 18, 'gender': 'female'}

keys = my_dict.keys()
print(keys)     # 输出dict_keys(['name', 'age', 'gender'])

values = my_dict.values()
print(values)   # 输出dict_values(['小白讲python', 18, 'female'])

items = my_dict.items()
print(items)    # 输出dict_items([('name', 'Alice'), ('age', 18), ('gender', 'female')])

age_value = my_dict.pop('age')
print(age_value)        # 输出18
print(my_dict)          # 输出{'name': '小白讲python', 'gender': 'female'}

random_item = my_dict.popitem()
print(random_item)      # 输出('gender', 'female')
print(my_dict)          # 输出{'name': '小白讲python'}

集合

  • 集合(Set)是Python中的一种数据结构,用于存储无序、不重复的元素。以下是关于集合的所有知识点:

(1)创建集合

可以使用大括号或 set() 函数来创建集合,每个元素之间使用逗号分隔。
例如:

my_set = {1, 2, 3}
my_set = set([1, 2, 3])

需要注意的是,空的集合不能使用大括号创建,因为它会被解释为一个空的字典;而应该使用 set() 函数来创建空的集合。
例如:

empty_set = set()

(2)访问集合元素

由于集合是无序的,不能通过下标索引来访问集合中的元素。但可以使用 in 运算符来判断集合中是否包含指定的元素。
例如:

my_set = {1, 2, 3}

if 1 in my_set:
    print('元素1在集合中')
else:
    print('元素1不在集合中')

(3)修改集合元素

修改集合元素的操作通常涉及到添加或删除元素。
可以使用 add() 方法来向集合中添加单个元素,如果添加的元素已经存在于集合中,则不会有任何影响。
可以使用 update() 方法来向集合中添加多个元素,参数可以是列表、元组、字典等可迭代对象。
可以使用 remove()discard() 方法来移除集合中的元素,如果指定的元素不存在于集合中,则会抛出异常或不做任何操作。
例如:

my_set = {1, 2, 3}

my_set.add(4)
print(my_set)       # 输出{1, 2, 3, 4}

my_set.update([5, 6])
print(my_set)       # 输出{1, 2, 3, 4, 5, 6}

my_set.remove(2)
print(my_set)       # 输出{1, 3, 4, 5, 6}

my_set.discard(7)
print(my_set)       # 输出{1, 3, 4, 5, 6}
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值