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']

矩阵与向量

相关推荐
workflower1 天前
单元测试-例子
java·开发语言·算法·django·个人开发·结对编程
小白银子1 天前
零基础从头教学Linux(Day 52)
linux·运维·服务器·python·python3.11
YuanlongWang1 天前
C# 基础——装箱和拆箱
java·开发语言·c#
摇滚侠1 天前
Spring Boot 3零基础教程,WEB 开发 静态资源默认配置 笔记27
spring boot·笔记·后端
b78gb1 天前
电商秒杀系统设计 Java+MySQL实现高并发库存管理与订单处理
java·开发语言·mysql
AAA小肥杨1 天前
基于k8s的Python的分布式深度学习训练平台搭建简单实践
人工智能·分布式·python·ai·kubernetes·gpu
LXS_3571 天前
Day 05 C++ 入门 之 指针
开发语言·c++·笔记·学习方法·改行学it
etsuyou1 天前
js前端this指向规则
开发语言·前端·javascript
shizhenshide1 天前
为什么有时候 reCAPTCHA 通过率偏低,常见原因有哪些
开发语言·php·验证码·captcha·recaptcha·ezcaptcha
lichong9511 天前
Git 检出到HEAD 再修改提交commit 会消失解决方案
java·前端·git·python·github·大前端·大前端++