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

矩阵与向量

相关推荐
qq_206901397 分钟前
为什么宝塔面板网站无法正常连接外部远程数据库_检查服务器安全组放行端口并开启IP授权
jvm·数据库·python
xuanwenchao22 分钟前
ROS2学习笔记 - 1、编写运行第一个程序
笔记·学习
空空潍24 分钟前
Miniconda完整安装教程(win版)
python·miniconda
独小乐25 分钟前
018.使用I2C总线EEPROM|千篇笔记实现嵌入式全栈/裸机篇
linux·笔记·单片机·嵌入式硬件·arm·信息与通信
xiaoshuaishuai829 分钟前
C# 实现百度搜索算法逆向
开发语言·windows·c#·dubbo
yuan1999731 分钟前
使用模糊逻辑算法进行路径规划(MATLAB实现)
开发语言·算法·matlab
深兰科技38 分钟前
深兰科技与淡水河谷合作推进:矿区示范加速落地
java·人工智能·python·c#·scala·symfony·深兰科技
weixin_586061461 小时前
JavaScript中Redux-Thunk处理异步Action的任务流
jvm·数据库·python
蒸汽求职1 小时前
北美求职身份过渡:Day 1 CPT 的合规红线与安全入职指南
开发语言·人工智能·安全·pdf·github·开源协议
2401_897190551 小时前
Golang怎么写TODO待办应用_Golang TODO应用教程【深入】
jvm·数据库·python