1、 if ...elif...else 如果if和elif都是对的,那会两个都执行吗
在 Python 中,if...elif...else
语句是按顺序执行的。当 if
和 elif
条件都为真时,只有第一个为真的条件对应的代码块会执行,而其他条件对应的代码块不会执行。如果所有条件都不为真,则执行 else
语句对应的代码块(如果存在 else
)。
举个例子:
x = 5 if x > 0: print("x is positive") elif x > 3: print("x is greater than 3") else: print("x is non-positive")
假设 x
的值为 5。根据条件:
x > 0
为真,因此执行对应的代码块并打印 "x is positive"。- 其他条件不会被执行,即使
x > 3
也为真。
因此,对于一个 if...elif...else
语句,只有第一个为真的条件对应的代码块会被执行。
2、while循环条件表达式为真的时候执行循环体,为假的时候跳出
3、 列表和序列是同一个东西吗
在 Python 中,列表(List)和序列(Sequence)不是完全相同的概念,但列表是序列的一种特定类型。
- 列表(List): 列表是 Python 中最常用的数据结构之一,它是一个有序、可变、允许重复元素的集合。列表使用方括号
[]
定义,元素之间用逗号,
分隔。列表提供了丰富的方法和操作,比如添加、删除、切片、排序等。 - 序列(Sequence): 序列是 Python 中的一个通用概念,它是指一组按顺序排列的元素的集合。序列包括了多种数据类型,例如列表、元组(Tuple)、字符串(String)、范围(Range)等。序列的特点是有序性,即其中的元素按照一定顺序排列,并且可以通过索引访问。
因此,列表是序列的一种特定类型,它具有序列的所有特性,并且在 Python 中使用非常广泛。
4、列表元素的操作
listname.append(obj)添加
listname.ed
listname.count()--获取指定元素出现次数
listname.index()获取指定元素首次出现的下标
sum(listname[,start])统计数值列表的元素和,start表示街工从哪个数开始,
sum()的可选参数start的用法
sum()
函数的可选参数 start
用于指定初始值。如果提供了 start
参数,sum()
函数将从该初始值开始累加列表中的元素,而不是从零开始。
语法如下:
sum(iterable, start=0)
iterable
:要进行求和的可迭代对象,通常是一个列表、元组等。start
:可选参数,用于指定求和的初始值,默认为0
。
举个例子:
numbers = [1, 2, 3, 4, 5] total = sum(numbers, start=10) print(total) # 输出:25
在这个例子中,我们将 start
参数设置为 10
。因此,sum()
函数从 10
开始累加列表 numbers
中的元素,得到的总和为 25
(即 10 + 1 + 2 + 3 + 4 + 5
)。
listname.sort(key=None,reverser=false)排序,key表示指定从每个元素中提取一个比较的键,如key= str.lower表示排序时不区分字母大小写,false正序排列
sortd(listname,key,reverse=false),
python 列表推导式讲解
Python 中的列表推导式(List Comprehension)是一种简洁而强大的语法,用于从一个可迭代对象创建新的列表。它允许你在一行代码中生成新的列表,通常用于对现有列表进行转换、筛选或组合操作。
列表推导式的基本语法如下:
[expression for item in iterable if condition]
其中:
expression
:对item
的处理方式,可以是任何表达式,通常是对item
进行操作或转换。item
:可迭代对象中的元素。iterable
:可迭代对象,如列表、元组、集合、字典等。condition
(可选):条件表达式,用于过滤item
。只有满足条件的item
才会被包含在最终的列表中。
举个例子,假设我们有一个列表 numbers
,我们想要生成一个新列表,其中包含原列表中每个元素的平方:
numbers = [1, 2, 3, 4, 5] squared_numbers = [x ** 2 for x in numbers] print(squared_numbers) # 输出:[1, 4, 9, 16, 25]
在这个例子中,[x ** 2 for x in numbers]
就是一个列表推导式。它遍历列表 numbers
中的每个元素 x
,计算其平方并将结果添加到新列表 squared_numbers
中。
除了基本语法外,列表推导式还可以嵌套,也可以使用多个 for
循环和条件表达式,以实现更复杂的操作。它们提供了一种简洁而优雅的方式来创建新的列表,使代码更具可读性和可维护性。
5、元组操作
- 用()
- 创建数值元组
tuple(data)
函数用于创建一个包含指定数据的元组。它接受一个可迭代对象 data
,并将其转换为一个元组。
举例来说,假设有一个列表 data_list
包含一些数据:
data_list = [1, 2, 3, 4, 5]
如果你想将这些数据转换为一个元组,你可以使用 tuple()
函数:
data_tuple = tuple(data_list) print(data_tuple) # 输出:(1, 2, 3, 4, 5)
这样就创建了一个元组 data_tuple
,其中包含了列表 data_list
中的所有数据。tuple()
函数将列表转换为元组的过程是非常简单的,它直接将列表的内容复制到一个新的元组中。
需要注意的是,元组是不可变的数据类型,一旦创建就不能修改。因此,一旦创建了元组,其中的元素就不能被修改、添加或删除。
- del tuplename 删除不需要的元组
6、字典操作
- 用{‘’:‘’}
- 遍历
遍历字典(Dictionary)是获取字典中所有键值对的常见操作。Python 提供了多种方法来遍历字典,其中最常见的包括使用 for
循环和字典的内置方法。
- 使用
for
循环遍历字典:
my_dict = {'a': 1, 'b': 2, 'c': 3} # 遍历字典的键 for key in my_dict: print(key) # 遍历字典的值 for value in my_dict.values(): print(value) # 遍历字典的键值对 for key, value in my_dict.items(): print(key, value)
在这个例子中,我们定义了一个字典 my_dict
,然后使用 for
循环遍历了它的键、值以及键值对。注意,在遍历键值对时,我们使用 items()
方法来同时获取键和值。
- 使用字典的内置方法:
除了 for
循环外,字典还提供了一些内置方法来进行遍历,比如 keys()
、values()
和 items()
:
my_dict = {'a': 1, 'b': 2, 'c': 3} # 遍历字典的键 for key in my_dict.keys(): print(key) # 遍历字典的值 for value in my_dict.values(): print(value) # 遍历字典的键值对 for key, value in my_dict.items(): print(key, value)
这些方法提供了与 for
循环相同的功能,但可能更具可读性,特别是在代码中需要明确表达“遍历键”、“遍历值”或“遍历键值对”的意图时。
- 字典添加与删除
添加元素到字典中:
要向字典中添加新的键值对,可以使用以下方法:
my_dict = {'a': 1, 'b': 2, 'c': 3} # 添加键值对 my_dict['d'] = 4 print(my_dict)
这将在字典 my_dict
中添加一个新的键 'd'
,对应的值为 4
。现在,my_dict
变成了 {'a': 1, 'b': 2, 'c': 3, 'd': 4}
。
删除字典中的元素:
删除字典中的元素可以通过以下几种方式实现:
- 使用
del
关键字删除指定的键值对:
my_dict = {'a': 1, 'b': 2, 'c': 3} # 删除键 'b' 对应的值 del my_dict['b'] print(my_dict)
这将从字典 my_dict
中删除键 'b'
对应的键值对,结果为 {'a': 1, 'c': 3}
。
- 使用
pop()
方法删除指定键并返回其值:
my_dict = {'a': 1, 'b': 2, 'c': 3} # 删除键 'b' 对应的值,并返回其值 value = my_dict.pop('b') print(value) # 输出:2 print(my_dict) # 输出:{'a': 1, 'c': 3}
这将从字典 my_dict
中删除键 'b'
对应的键值对,并返回被删除的值 2
。
- 使用
popitem()
方法删除最后一个键值对:
my_dict = {'a': 1, 'b': 2, 'c': 3} # 删除最后一个键值对,并返回被删除的键值对 key, value = my_dict.popitem() print(key, value) # 输出:'c' 3 print(my_dict) # 输出:{'a': 1, 'b': 2}
这将从字典 my_dict
中删除最后一个键值对 ('c': 3
) 并返回被删除的键值对。
7、集合操作
- 用{}
- setname = set(iteration)将其他列表、元组等其他可迭代对象转换成集合
- 添加与删除
setname.add(element)添加。不能用可迭代对象
del删除整个集合
set.remove()删除指定元素
set.pop()删除最后一个元素
set.clear()清空集合
8、字符串操作
str[start:end:step]字符串切片
split()分割 返回列表,
join()合并字符串
9、format()
的各种格式化字符的用法
format()
方法提供了多种格式化字符,用于根据需求对字符串、数字等进行格式化。
格式化字符串:
# 格式化字符串 name = "Alice" age = 30 formatted_string = "My name is {} and I am {} years old.".format(name, age) print(formatted_string) # 输出:My name is Alice and I am 30 years old.
在这个例子中,{}
表示字符串的位置,会被对应的变量 name
和 age
替换。
格式化整数:
# 格式化整数 num = 12345 formatted_int = "The number is {:,}".format(num) print(formatted_int) # 输出:The number is 12,345
{:,}
将整数格式化为带有千位分隔符的形式。
格式化小数:
# 格式化小数 pi = 3.1415926 formatted_float = "The value of pi is {:.2f}".format(pi) print(formatted_float) # 输出:The value of pi is 3.14
{:.2f}
表示将浮点数格式化为保留两位小数的形式。
格式化百分比:
# 格式化百分比 percentage = 0.75 formatted_percent = "The percentage is {:.2%}".format(percentage) print(formatted_percent) # 输出:The percentage is 75.00%
{:.2%}
将数字转换为百分比形式,并保留两位小数。
格式化科学计数法:
# 格式化科学计数法 scientific_num = 3.1415926e-5 formatted_sci = "The scientific notation is {:.2e}".format(scientific_num) print(formatted_sci) # 输出:The scientific notation is 3.14e-05
{:.2e}
将科学计数法表示的数字格式化为保留两位小数的形式。
格式化日期和时间:
from datetime import datetime now = datetime.now() formatted_datetime = "Current date and time: {: %Y-%m-%d %H:%M:%S}".format(now) print(formatted_datetime) # 输出:Current date and time: 2024-04-08 12:34:56
{: %Y-%m-%d %H:%M:%S}
表示将日期和时间格式化为指定的格式。
format()
方法提供了丰富的格式化字符,可根据需要对字符串、数字、日期等进行灵活的格式化。
10、在Python中,数据类型可以分为可变和不可变两种类型。
可变数据类型(Mutable Data Types):
- 列表(List): 列表是一种有序的集合,其中的元素可以改变。可以通过索引进行修改、添加或删除元素。
- 字典(Dictionary): 字典是一种键-值对(key-value)的数据结构,其中的键是唯一的,值可以改变。可以通过键来修改、添加或删除元素。
- 集合(Set): 集合是一种无序的不重复元素的集合,其中的元素可以改变。可以添加或删除元素。
不可变数据类型(Immutable Data Types):
- 整数(Integer): 整数是一种不可变的数据类型,一旦创建就无法改变其值。
- 浮点数(Float): 浮点数也是不可变的数据类型,其值一旦确定就无法更改。
- 复数(Complex): 复数也属于不可变的数据类型,无法修改其值。
- 字符串(String): 字符串是由字符组成的序列,一旦创建就无法修改其中的字符。
- 元组(Tuple): 元组是一种有序的不可变序列,一旦创建就无法修改其中的元素。
不可变数据类型的特点是一旦创建就无法修改其值,而可变数据类型的值可以在创建后进行修改。这种区分对于理解Python中的数据结构和编写安全的并发代码非常重要。