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

矩阵与向量

相关推荐
90后的晨仔3 分钟前
Python 基础语法完整汇总
python
广慈新医知5 分钟前
当健康问题越来越复杂,AI更适合先帮我们“把问题问清楚”
人工智能·python
一晌小贪欢6 分钟前
python-第27天:Python面向对象详解
开发语言·python·数据可视化·面向对象·python办公
青 春 记 忆9 分钟前
LeetCode 350. 两个数组的交集 II|Python 解法详解
python·算法·leetcode
迪康Defender22 分钟前
公用电脑责任追溯难?迪康端点安全一体化管理系统用户模式详解
java·运维·开发语言·网络·其他·安全
16月6日-晴1 小时前
Java面向对象——接口
java·开发语言
aprilaaaaa1 小时前
(TC397 学习笔记)二、ICU和TIM的时钟计算
笔记·学习·fpga开发
wuyk5551 小时前
107.FreeRTOS 链表深度解析:从原理到面试满分答案
c语言·开发语言·数据结构·stm32·单片机·链表·面试
geovindu1 小时前
CSharp: Wordcloud
开发语言·后端·c#·.net·.netcore·词云
hongmai6668881 小时前
ESP32-WROVER-IE-N4R8:外接天线+8MB内存,专治信号焦虑
笔记·单片机·嵌入式硬件·microsoft·risc-v