Python 运算符与列表(list)

Python 运算符

运算符用于对变量和值执行运算。Python将运算符分为以下几类:

算术运算符

算术运算符与数值一起使用以执行常见的数学运算:

操作符 名称 例子
+ 加法 x + y
- 减法 x - y
* 乘法 x * y
/ 除法 x / y
% 模运算 x % y
** 求幂 x ** y
// 除法向下取整 x // y

赋值运算符

赋值运算符用于为变量赋值:

操作符 例子 等价于
= x = 5 x = 5
+= x += 3 x = x + 3
-= x -= 3 x = x - 3
*= x *= 3 x = x * 3
/= x /= 3 x = x / 3
%= x %= 3 x = x % 3
//= x //= 3 x = x // 3
**= x **= 3 x = x ** 3
&= x &= 3 x = x & 3
|= x |= 3 x = x | 3
^= x ^= 3 x = x ^ 3
>>= x >>= 3 x = x >> 3
<<= x <<= 3 x = x << 3

比较运算符

比较运算符用于比较两个值:

操作符 名称 例子
== 等于 x == y
!= 不相等 x != y
> 大于 x > y
< 小于 x < y
>= 大于或等于 x >= y
<= 小于或等于 x <= y

逻辑运算符

逻辑运算符用于组合条件语句:

操作符 描述 例子
and 如果两个语句都为True,则返回True x < 5 and x < 10
or 如果其中一个语句为True,则返回True x < 5 or x < 4
not 反转结果,如果结果为True,则返回False not(x < 5 and x < 10)

身份运算符

身份运算符用于比较对象,不是比较它们是否相等,而是比较它们是否是相同的对象,并且具有相同的内存位置:

操作符 描述 例子
is 如果两个变量都是相同的对象,则返回true x is y
is not 如果两个变量都不相同,则返回true x is not y

成员运算符

成员运算符用于测试对象中是否存在序列:

操作符 描述 例子
in 如果对象x中的y中存在具有指定值的序列,则返回True x in y
not in 如果对象x中不存在指定值的序列,则返回True x not in y

按位运算符

按位运算符用于比较(二进制)数字:

操作符 描述 例子
& AND - 如果两个位均为1,则将每个位设置为1
| OR - 如果两位之一为1,则将每个位设置为1
^ XOR - 如果只有一位为1,则将每个位设置为1
~ NOT - 反转所有位
<< 零填充左移 - 向右推零,向左移动,让最左边的位掉落
>> 签署右移 - 通过从左侧推入最左边的位的副本向右移动,并让最右边的位掉落

Python 列表(list)

Python 集合(数组)

Python编程语言中有四种收集数据类型:

  • List(列表) - 是有序且可更改的集合。允许重复的成员。

  • Tuple(元组) - 是有序且不可更改的集合。允许重复的成员。

  • Set(集合) - 是无序和未索引的集合。没有重复的成员。

  • Dictionary(字典) - 是无序,可变和索引的集合。没有重复的成员。

列表定义

列表(List)是有序且可更改的集合。在Python中,列表用方括号括起来。

python

复制代码
thislist = ["apple", "banana", "cherry"]
print(thislist)

访问项目

您通过引用索引号访问列表项:

python

复制代码
# 打印列表的第二项:
thislist = ["apple", "banana", "cherry"]
print(thislist[1])

负索引

负索引是指从头开始,-1指的是最后一项,-2指的是倒数第二项,依此类推。

python

复制代码
# 打印列表的最后一项:
thislist = ["apple", "banana", "cherry"]
print(thislist[-1])

索引范围

您可以通过指定范围的起点和终点来指定索引范围。指定范围时,返回值将是包含指定项目的新列表。

python

复制代码
# 返回第三,第四和第五项:
thislist = ["apple", "banana", "cherry", "orange", "kiwi", "melon", "mango"]
print(thislist[2:5])

注意: 搜索将从索引2(包括)开始,到索引5(不包括)结束。请记住,第一项的索引为0。

通过省略起始值,范围将从第一项开始:

python

复制代码
# 本示例将项目从开头返回到"orange":
thislist = ["apple", "banana", "cherry", "orange", "kiwi", "melon", "mango"]
print(thislist[:4])

通过省略结束值,范围将继续到列表的末尾:

python

复制代码
# 此示例从"cherry"到最后返回项目:
thislist = ["apple", "banana", "cherry", "orange", "kiwi", "melon", "mango"]
print(thislist[2:])

负索引范围

如果要从列表末尾开始搜索,请指定负索引:

python

复制代码
# 本示例将项目从索引-4(包括)返回到索引-1(排除)
thislist = ["apple", "banana", "cherry", "orange", "kiwi", "melon", "mango"]
print(thislist[-4:-1])

更改项目的值

要更改特定项目的值,请参考索引号:

python

复制代码
# 更改第二项:
thislist = ["apple", "banana", "cherry"]
thislist[1] = "blackcurrant"
print(thislist)

遍历列表

您可以使用 for 循环来遍历列表项:

python

复制代码
# 一个一个地打印列表中的所有项目:
thislist = ["apple", "banana", "cherry"]
for x in thislist:
    print(x)

检查项目是否存在

要确定列表中是否存在指定的项目,请使用in关键字:

python

复制代码
# 检查列表中是否存在"apple":
thislist = ["apple", "banana", "cherry"]
if "apple" in thislist:
    print("Yes, 'apple' is in the fruits list")

列表长度

要确定列表中有多少项,请使用以下 len() 函数:

python

复制代码
# 打印列表中的项目数:
thislist = ["apple", "banana", "cherry"]
print(len(thislist))

新增项目

要将项目添加到列表的末尾,请使用 append() 方法:

python

复制代码
# 使用 append() 方法附加项目:
thislist = ["apple", "banana", "cherry"]
thislist.append("orange")
print(thislist)

要在指定的索引处添加项目,请使用 insert() 方法:

python

复制代码
# 插入一个项目作为第二个位置:
thislist = ["apple", "banana", "cherry"]
thislist.insert(1, "orange")
print(thislist)

删除项目

有几种方法可以从列表中删除项目:

remove() 方法删除指定的项目:

python

复制代码
thislist = ["apple", "banana", "cherry"]
thislist.remove("banana")
print(thislist)

pop() 方法删除指定的索引(如果未指定index,则删除最后一项):

python

复制代码
thislist = ["apple", "banana", "cherry"]
thislist.pop()
print(thislist)

del 关键字删除指定索引:

python

复制代码
thislist = ["apple", "banana", "cherry"]
del thislist[0]
print(thislist)

del 关键字也可以完全删除列表:

python

复制代码
thislist = ["apple", "banana", "cherry"]
del thislist

clear() 方法清空列表:

python

复制代码
thislist = ["apple", "banana", "cherry"]
thislist.clear()
print(thislist)

复制列表

有很多方法可以制作副本,一种方法是使用内置的List方法 copy()。

python

复制代码
# 使用 copy() 方法复制列表:
thislist = ["apple", "banana", "cherry"]
mylist = thislist.copy()
print(mylist)

制作副本的另一种方法是使用内置方法 list()。

python

复制代码
# 使用 list() 方法复制列表:
thislist = ["apple", "banana", "cherry"]
mylist = list(thislist)
print(mylist)

合并两个列表

在Python中,有几种方法可以连接或连接两个或多个列表。

使用 + 运算符合并列表:

python

复制代码
list1 = ["a", "b", "c"]
list2 = [1, 2, 3]
list3 = list1 + list2
print(list3)

将list2中的所有项一个接一个地追加到list1中:

python

复制代码
list1 = ["a", "b", "c"]
list2 = [1, 2, 3]

for x in list2:
    list1.append(x)

print(list1)

使用 extend() 方法将list2添加到list1的末尾:

python

复制代码
list1 = ["a", "b", "c"]
list2 = [1, 2, 3]

list1.extend(list2)
print(list1)

list() 构造函数

使用 list() 构造函数创建一个列表:

python

复制代码
thislist = list(("apple", "banana", "cherry"))  # 注意双圆括号
print(thislist)

列表方法

Python 有一组内置方法,可在列表上使用。

方法 描述
append() 在列表末尾添加元素
clear() 从列表中删除所有元素
copy() 返回列表的副本
count() 返回具有指定值的元素数
extend() 将列表(或任何可迭代)的元素添加到当前列表的末尾
index() 返回具有指定值的第一个元素的索引
insert() 在指定位置添加元素
pop() 删除指定位置的元素
remove() 删除具有指定值的项目
reverse() 颠倒列表的顺序
sort() 排序列表

这篇文章详细介绍了Python中的各种运算符和列表的使用方法,涵盖了从基本操作到高级技巧的各个方面,是学习Python编程的重要基础知识。

相关推荐
野犬寒鸦6 小时前
从零起步学习Redis || 第十一章:主从切换时的哨兵机制如何实现及项目实战
java·服务器·数据库·redis·后端·缓存
爱读源码的大都督6 小时前
RAG效果不理想?试试用魔法打败魔法:让大模型深度参与优化的三阶段实战
java·人工智能·后端
小政同学6 小时前
【Python】小练习-考察变量作用域问题
开发语言·python
埃泽漫笔6 小时前
mq的常见问题
java·mq
是那盏灯塔6 小时前
16.C++三大重要特性之多态
开发语言·c++
lsx2024066 小时前
网站验证:确保在线安全与用户体验的关键步骤
开发语言
屏风走马7 小时前
SpringSecurity的简单想法
java
Y1_again_0_again7 小时前
Java中第三方日志库-Log4J
java·开发语言·log4j
我是华为OD~HR~栗栗呀7 小时前
24届-Python面经(华为OD)
java·前端·c++·python·华为od·华为·面试