python基础到进阶(一)--数据类型

1、 if ...elif...else 如果if和elif都是对的,那会两个都执行吗

在 Python 中,if...elif...else 语句是按顺序执行的。当 ifelif 条件都为真时,只有第一个为真的条件对应的代码块会执行,而其他条件对应的代码块不会执行。如果所有条件都不为真,则执行 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 循环和字典的内置方法。

  1. 使用 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() 方法来同时获取键和值。

  1. 使用字典的内置方法:

除了 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}

删除字典中的元素:

删除字典中的元素可以通过以下几种方式实现:

  1. 使用 del 关键字删除指定的键值对:
my_dict = {'a': 1, 'b': 2, 'c': 3}

# 删除键 'b' 对应的值
del my_dict['b']

print(my_dict)

这将从字典 my_dict 中删除键 'b' 对应的键值对,结果为 {'a': 1, 'c': 3}

  1. 使用 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

  1. 使用 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.

在这个例子中,{} 表示字符串的位置,会被对应的变量 nameage 替换。

格式化整数:
# 格式化整数
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):
  1. 列表(List): 列表是一种有序的集合,其中的元素可以改变。可以通过索引进行修改、添加或删除元素。
  2. 字典(Dictionary): 字典是一种键-值对(key-value)的数据结构,其中的键是唯一的,值可以改变。可以通过键来修改、添加或删除元素。
  3. 集合(Set): 集合是一种无序的不重复元素的集合,其中的元素可以改变。可以添加或删除元素。
不可变数据类型(Immutable Data Types):
  1. 整数(Integer): 整数是一种不可变的数据类型,一旦创建就无法改变其值。
  2. 浮点数(Float): 浮点数也是不可变的数据类型,其值一旦确定就无法更改。
  3. 复数(Complex): 复数也属于不可变的数据类型,无法修改其值。
  4. 字符串(String): 字符串是由字符组成的序列,一旦创建就无法修改其中的字符。
  5. 元组(Tuple): 元组是一种有序的不可变序列,一旦创建就无法修改其中的元素。

不可变数据类型的特点是一旦创建就无法修改其值,而可变数据类型的值可以在创建后进行修改。这种区分对于理解Python中的数据结构和编写安全的并发代码非常重要。

  • 24
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

七罪_暴食

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值