Python笔记(1)

五、序列、列表、元组、字典与集合

序列

序列(常见的序列包括字符串、列表、元组等)是一个用于存储多个值的连续空间,每个值都对应一个整数的编号,称为索引。索引又有正向递增索引和反向递减索引之分:

 切片操作的语法结构:序列[start:end:step],其中start为切片的开始索引(包含)、end为切片的结束索引(不包含)、step为步长(若省略则默认为1)

例如:

x='helloworld'
x1=x[0:5:2]#切片操作从索引0开始,到索引5结束(不包含5),步长为2
print(x1)

其结果为:hlo

若省略切片开始的位置,则默认从0开始,如:

x='helloworld'
# x1=x[0:5:2]#切片操作从索引0开始,到索引5结束(不包含5),步长为2
# print(x1)
x1=x[:5:2]
print(x1)

其结果也为:hlo

若省略结束位置,则默认到序列的最后一个元素(包含最后一个元素)。

常用操作符/函数:

x in s:如果x是s的元素,则结果为True,否则结果为False

x not in s:如果x不是s的元素,结果为True,否则结果为False

len(s):序列s中元素的个数(即序列长度)

max(s):序列s中元素的最大值

min(s):序列s中元素的最小值

s.index(x):序列s中第一次出现元素x的位置

s.count(x):序列s中出现x的个数

列表

列表是指一系列的按特定顺序排列的元素组成;是python中内置的可变序列;在python中使用[ ] 定义列表,元素与元素之间使用英文的逗号隔开,列表中的元素可以是任意的数据类型

列表的创建方式有两种:

1、直接使用[ ]创建列表,语法结构如下:

列表名=[element1,element2,....elementN]

2、使用内置函数list()创建列表,语法结构如下:

列表名=list(序列)

下面给出列表的一些基本特性和操作:

1.创建列表:

my_list = [1, 2, 3, 'apple', 'banana']

2.访问元素:

使用索引访问列表中的元素,索引从0开始,负数索引表示从末尾开始倒数。

print(my_list[0])    # 输出:1
print(my_list[-1])   # 输出:'banana'

3.切片:

使用切片操作可以获取列表的子序列。

sub_list = my_list[1:4]  # 获取索引1到3的元素,不包括索引4

 4.修改元素:

可以通过索引直接修改列表中的元素。

my_list[2] = 'orange'#此时列表中的3被替换为orange

5.添加元素:

使用'append()'方法在列表末尾添加元素;使用'insert()'方法在指定位置插入元素。

my_list = [1, 2, 3, 'apple', 'banana']
my_list.append(4)
#其运行结果为:my_list = [1, 2, 3, 'apple', 'banana',4]

my_list = [1, 2, 3, 'apple', 'banana']
my_list.insert(2,'grape')
#其运行结果为:my_list = [1, 2,'grape', 3, 'apple', 'banana']

6.删除元素:

使用remove()方法通过值删除元素;使用del语句通过索引删除元素。使用del 列表名,可以删除整个列表。

my_list.remove('apple')
del my_list[1]

7.长度和成员检查:

使用len()函数获取列表的长度;使用in关键字检查元素是否存在于列表中。

my_list = [1, 2, 3, 'apple', 'banana']
#my_list.insert(2,'grape')
length = len(my_list)
is_present = 'orange' in my_list

print(length)
print(is_present)

8.列表运算:

列表支持拼接和重复操作。

combined_list = my_list + [5, 6]
repeated_list = my_list * 3

9.迭代:

列表可以通过循环遍历其中的元素。

#使用遍历循环for遍历列表元素
for item in my_list:
    print(item)
#使用for循环,range()函数,len()函数,根据索引进行遍历
for i in range(0,len(my_list)):
    print(my_list[i])

 补充列表的相关操作方法:

my_list.clear():清楚列表my_list中所有元素

my_list.pop(index):将列表my_list中第index位置的元素删除

my_list.reverse(x):将列表my_list中的元素反转

my_list.copy():拷贝列表my_list中的所有元素,生成一个新的列表

列表生成式:

一般语法结构如下:

new_list = [expression for item in iterable if condition]
  • expression是对每个 item执行的表达式,用于生成新的列表元素。
  • item 是迭代的变量,代表可迭代对象(如列表、元组、字符串等)中的每个元素。
  • iterable 是可迭代对象,提供了要遍历的元素集合。
  • condition 是一个可选的条件,用于过滤元素。只有满足条件的元素才会包含在新列表中。

以下是一些具体的例子,以帮助理解列表生成式的用法:

1.生成一个数字范围的平方数列表:

squares = [x**2 for x in range(10)]
# 输出:[0, 1, 4, 9, 16, 25, 36, 49, 64, 81]

 2.筛选出偶数的平方数列表:

even_squares = [x**2 for x in range(10) if x % 2 == 0]
# 输出:[0, 4, 16, 36, 64]

3.将字符串列表转换为大写形式:

words = ['apple', 'banana', 'cherry']
upper_words = [word.upper() for word in words]
# 输出:['APPLE', 'BANANA', 'CHERRY']

元组

元组是python中内置的不可变序列(没有增、删、改等一系列操作);在python中使用()定义元组,元素与元素之间使用英文的逗号隔开;元组中只有一个元素的时候,逗号也不能省略

元组的创建方式有两种:

1.使用()直接创建元组,语法结构如下:

元组名=(element1,element2,...elementN)

2.使用内置函数tuple()创建元组,语法结构如下:

元组名=tuple(序列)

以下是元组的一些基本特性和操作:

1.创建元组:

my_tuple = (1, 2, 'apple', 'banana')

2.访问元素:

使用索引访问元组中的元素。索引从0开始,负数索引表示从末尾开始倒数。

print(my_tuple[0])    # 输出:1
print(my_tuple[-1])   # 输出:'banana'

3.切片:

使用切片操作可以获取元组的子序列。

sub_tuple = my_tuple[1:3]  # 获取索引1到2的元素,不包括索引3

 4.不可变性质:

元组一旦创建就不能被修改。无法添加、删除或修改元组中的元素。

my_tuple[2] = 'orange'  # 会引发 TypeError

5.长度和成员检查:

使用len()函数获取元组的长度;使用in关键字检查元素是否存在于元组中。

length = len(my_tuple)
is_present = 'orange' in my_tuple

6.元组解包:

元组可以通过解包的形式将其元素分配给多个变量。

a, b, c, d = my_tuple

7.元组拼接:

使用’+‘运算符可以将两个元组拼接起来。

tuple1 = (1, 2, 3)
tuple2 = ('apple', 'banana')
combined_tuple = tuple1 + tuple2

元组和列表的区别:

字典

字典是一种无序、可变的数据类型,用于存储键-值对。每个键必须是唯一的,但是值可以是任意类型的对象,包括数字、字符串、列表、元组等。字典使用花括号{ }表示,键和值之间使用冒号:分割,键-值对之间使用英文逗号分隔(当key相同时,value进行覆盖)。

字典类型的创建方式:

1.直接使用{}创建字典,语法结构如下:

d={key1:value1,key2:value2,....}

2.使用内置函数dict()创建字典,语法结构如下:

dict(key1=value1,key2=value2......)

以下是字典的一些基本特性和操作:

1.创建字典:

my_dict = {'name': 'John', 'age': 30, 'city': 'New York'}

2.访问元素:

使用键来访问字典中值。

print(my_dict['name'])  # 输出:'John'
print(my_dict['age'])   # 输出:30

3.添加和修改元素:

通过指定新的键来添加新的键-值对;通过已有的键来修改对应的值。

my_dict['gender'] = 'Male'  # 添加新的键-值对
my_dict['age'] = 31         # 修改值

4.删除元素:

使用del语句删除指定键-值对;使用pop()方法删除指定键,并返回对应的值。

del my_dict['city']  # 删除键为'city'的键-值对
popped_value = my_dict.pop('age')  # 删除键为'age'的键-值对,并返回对应的值

5.获取所有键和值:

使用keys()方法获取所有键;使用value()方法获取所有值;使用items()方法获取所有键-值对。

all_keys = my_dict.keys()
all_values = my_dict.values()
all_items = my_dict.items()

6.长度和成员检查:

使用len()函数获取字典的键-值对数量;使用in关键字检查键是否存在于字典中。

length = len(my_dict)
is_present = 'name' in my_dict

7.嵌套字典:

字典中的值也可以是字典,形成嵌套结构。

nested_dict = {'person': {'name': 'Alice', 'age': 25}}

常用操作方法:

my_dict.keys():获取所有key数据

my_dict.values():获取所有value数据

my_dict.pop(key,default):key存在则获取相应的value,同时删除该键-值对,否则获取默认值

my_dict.popitem():随即从字典中获取一个键值对,结果为元组类型,同时将该键值对从字典中删除

my_dict.clear():清空字典中所有的键值对

字典生成式:

d={key:value for item in range}

import random
d={item:random.randint(1,100)for item in range(4)}
print(d)

集合

python中的集合与数学中集合的概念一致,是一个无序的不重复元素列表;集合只能存储不可变数据类型;使用{}定义;与列表、字典一样,都是python中的可变数据类型。

集合的创建方式有两种:

1.直接使用{}创建集合,语法结构如下:

s={element1,element2,....elementN}

2.使用内置函数set()创建集合,语法结构如下:

s=set(可迭代对象)

以下是集合的一些基本特性和操作:

1.创建集合:

my_set = {1, 2, 3, 4, 5}

2.添加元素:

使用add()方法添加单个元素;使用update()方法添加多个元素。

my_set.add(6)
my_set.update([7, 8, 9])

3.删除元素:

使用remove()方法删除指定元素,如果元素不存在,会引发KeyError;使用discard()方法删除指定元素,但如果元素不存在,不会引发错误;使用pop()方法随机删除并返回一个元素。

my_set.remove(3)
my_set.discard(10)
popped_element = my_set.pop()

4.集合运算:

集合支持交集、并集、差集等运算。

set1 = {1, 2, 3, 4}
set2 = {3, 4, 5, 6}
intersection = set1 & set2  # 交集
union = set1 | set2        # 并集
difference = set1 - set2   # 差集

  • 16
    点赞
  • 18
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值