python自学笔记2 数据类型

字符串操作

f字符串:

python 复制代码
for index, char in enumerate(greeting_str):
      print(f"字符:{char}, 索引:{index}")

f字符串可以方便的在字符串中插入变量

字符串切片

指定步长:

python 复制代码
print(greeting_str[::2])

指定步长为2的取字符串

指定步长为-1的取字符串

python 复制代码
print(greeting_str[::-1])

将数据插入字符串

使用%

python 复制代码
str_2 = '%s has a height of %.3f cm.' %(name, height)
print(str_2)

使用str.format()

python 复制代码
str_3 = '{} has a height of {:.3f} cm.'.format(name,height)
print(str_3)

使用f-string(如上述)

常用占位符



列表操作

创建混合列表

python 复制代码
my_list = [1,  1.0, '1', True, [1, 1.0, '1'], {1}, {1:1.0}]

列表的切片操作

如字符串切片操作

插入操作,在列表尾部插入元素

python 复制代码
my_list.append('tail')

通过索引删除

python 复制代码
del my_list[-1]

删除某个元素

python 复制代码
my_list.remove('123')

判断一个元素是否在列表中

python 复制代码
if '123' in my_list:
	print("Yes")
else:
	print("No")

列表翻转

python 复制代码
my_list.reverse()

将列表用所有字符串连接,连接符为下滑线

python 复制代码
letters = ['j', 'a', 'm', 'e',  's']
word = '_'.join(letters)

打包与拆包

python 复制代码
list_0 = [0, 1, 2, 3, 4, ,5,  6, 7, 8]

'''第一个元素给first, 第二个元素给second, 最后一个元素给last, 剩余的打包'''
first, second,  *list_rest, last = list_0

#丢弃了最后一个,其他同上
first, second,  *list_rest, - = list_0

#利用打包和拆包合并
list1 = [1, 2, 3, 4, 5]
list2 = [6, 7, 8]

combined_list = [*list1, *list2]

用星号 * 拆包、打包也适用于元组和字符串,请大家自行学习代码 10。注意, 元组和字符串打包之后的结果为列表。

python 复制代码
string_0 = 'abcd'
first, *str_rest, last = string_0
#str_rest结果为列表

tuple_0 = (1,2,3,4)
first, *tuple_rest, last = tuple_0
#tuple_rest结果为列表

视图与拷贝

如果用 = 直接赋值,是非拷贝方法,结果是产生一个视图 (view)。 这两个列表是等价的,修改其中任何 (原始列表、视图) 一个列表都会影响到另一个列表。

浅拷贝与深拷贝

浅复制 (shallow copy) 只对 list 的第一层元素完成拷贝,深层元素还是和原 list 共用。

深复制 (deep copy) 是创建一个完全独立的列表对象,该对象中的元素与原始列表中的元素是不同的对象。

深拷贝要用copy.deepcopy(lsit1)

元组

比起列表,元组创建出来后不能有任何修改

使用()创建

集合

添加元素

python 复制代码
number_set = {1, 2, 3, 4, 5}
word_set = set({"apple", "banana", "orange"})
#使用add方式进行添加
fruit_set = set(["apple", "banana"])
#添加单个元素
fruit_set.add("orange")
#添加多个元素
fruit_set.update(["grape", "kiwi"])

删除元素

python 复制代码
#删除元素
fruit_set.remove("banana")  	#删除元素没有就会报错
fruit_set.discard("orange")		#删除元素没有也不会报错

逻辑运算

python 复制代码
set1 = {1, 2, 3, 4}
set2 = {3, 4, 5, 6}
set3 = set1 & set2 #交集
set4 = set1 | set2 #并集
set5 = set1 - set2 #差集

字典

python 复制代码
person = {'name': 'James', 'age': 88, 'gender': 'male'}

创建字典

python 复制代码
#创建字典
fruits = dict(apple = 88, banana = 888, cherry=8888)

修改字典

python 复制代码
person['age'] = 28

添加键值对

python 复制代码
person['city'] = 'Toronto'

删除键值对

python 复制代码
del person['gender']

矩阵与向量

相关推荐
XiaoLeisj37 分钟前
Android Kotlin 全链路系统化指南:从基础语法、类型系统与面向对象,到函数式编程、集合操作、协程并发与 Flow 响应式数据流实战
android·开发语言·kotlin·协程
dapeng28702 小时前
分布式系统容错设计
开发语言·c++·算法
2501_945423542 小时前
用Matplotlib绘制专业图表:从基础到高级
jvm·数据库·python
2301_793804692 小时前
使用Python处理计算机图形学(PIL/Pillow)
jvm·数据库·python
qq_417695052 小时前
代码热修复技术
开发语言·c++·算法
badhope7 小时前
Mobile-Skills:移动端技能可视化的创新实践
开发语言·人工智能·git·智能手机·github
码云数智-园园8 小时前
微服务架构下的分布式事务:在一致性与可用性之间寻找平衡
开发语言
吴佳浩8 小时前
GPU 编号进阶:CUDA\_VISIBLE\_DEVICES、多进程与容器化陷阱
人工智能·pytorch·python
C++ 老炮儿的技术栈8 小时前
volatile使用场景
linux·服务器·c语言·开发语言·c++
hz_zhangrl8 小时前
CCF-GESP 等级考试 2026年3月认证C++一级真题解析
开发语言·c++·gesp·gesp2026年3月·gespc++一级