免费网站生成软件,工程建设监理名词解释,网站建设培训学校北京,东莞连衣裙 东莞网站建设目录 字符串(str)字符串的创建特殊情况字符串的转义字符字符串的运算符字符串常用方法求字符串长度去掉多余空格是否包含某子串分割字符串合并字符串替换字符串统计统计字符串出现的次数 练习#xff1a;判断字符串是否为回文串 列表(list)列表的创建列表常用方法遍历列表列表… 目录 字符串(str)字符串的创建特殊情况字符串的转义字符字符串的运算符字符串常用方法求字符串长度去掉多余空格是否包含某子串分割字符串合并字符串替换字符串统计统计字符串出现的次数 练习判断字符串是否为回文串 列表(list)列表的创建列表常用方法遍历列表列表生成式创建一个包含平方数的列表过滤出偶数的列表处理字符串列表并转换为大写 练习冰雹序列 元组(tuple)元组的创建元组的遍历元组的拼接元组的整个删除 字典(dict)字典的创建遍历字典访问字典更新字典删除字典键值对练习统计输入中文文章的汉字和出现次数 集合(set)无序性set内元素不会重复set内增删元素set之间的操作 字符串(str)
字符串的创建
创建⼀个字符串常⽤三种⽅法
单引号双引号三重单引号或者三重双引号
s1 Hello World
s2 Hello World
s3 Hello World
s4 Hello World特殊情况
字符串中含有双引号
s Hello World多⾏字符串
s
诗⼈就⼀般意义来讲
通常是指写诗的⼈但从⽂学概念上讲
则应是在诗歌诗词创作上有⼀定成就的写诗的⼈和诗作家。
诗⼈通过诗歌创作、吟咏抒发激情
通过诗歌讴歌祖国的⼤好河⼭通过诗歌传颂⼈间真善美。字符串的转义字符
常⻅的转义字符
\n
print(hello\nworld)hello
world\t
print(hello\tworld) hello world\u
print(\u9ad8\u5706) # 爬⾍常⻅unicode编码小测试 输⼊⼀个⼈名返回其unicode编码。
name input(请输入一个名字)
uc
for w in name:uc r\u hex(ord(w))[2:] # [2:] 指的是从
print(funicode编码等于{uc})在Python中[2:] 是一个切片操作表示从第2个元素开始到最后一个元素结束不包括第2个元素。具体来说它将返回一个包含原始列表或字符串、元组等中第2个元素之后的所有元素的子列表。
注意r\u 是原始字符串raw string的表示方式它告诉Python解释器该字符串中的所有字符都应该被原封不动地按照字面意义解释不应该进行转义。这意味着在原始字符串中反斜杠\被视为字面字符而不是转义字符的引导。 字符串的运算符
操作符描述实例(a “Hello” b “Python”)字符串连接a b 输出结果 HelloPython*重复输出字符串a * 2 输出结果HelloHello[]通过索引获取字符串中字符a[1] 输出结果 e[ : ]截取字符串中的一部分遵循左闭右开原则str[0:2] 是不包含第 3 个字符的。a[1:4] 输出结果 ellin成员运算符 - 如果字符串中包含给定的字符返回 True‘H’ in a 输出结果 Truenot in成员运算符 - 如果字符串中不包含给定的字符返回 True‘M’ not in a 输出结果 Truer/R原始字符串 - 所有的字符串都是直接按照字面的意思来使用没有转义特殊或不能打印的字符。 原始字符串除在字符串的第一个引号前加上字母 r可以大小写以外与普通字符串有着几乎完全相同的语法。print( r’\n’ )
a Python3.0
b Python
print(a b 输出结果, a b)
print(a * 2 输出结果, a * 2)
print(a[1] 输出结果, a[1])
print(a[1:4] 输出结果, a[1:4])
if( H in a) : print(H 在变量 a 中)
else : print(H 不在变量 a 中)
if( M not in a) : print(M 不在变量 a 中)
else :print(M 在变量 a 中)
print (r\n)
print (R\n)字符串常用方法
常⽤场景
求字符串⻓度去掉多余空格是否包括某个⼦串分割字符串合并字符串替换字符串统计字符串出现的次数 求字符串长度
len(string)
s 人生苦短何以解忧
print(len(s))去掉多余空格
strip() 方法用于删除字符串左右两个的空格和特殊字符 str.strip([chars]) str 表示原字符串[chars] 用来指定要删除的字符可以同时指定多个如果不手动指定则默认会删除空格以及制表符、回车符、换行符等特殊字符。
s Hello - World
print(s.strip())# --输出
# Hello - World 是否包含某子串
find() 方法用于检索字符串中是否包含目标字符串如果包含则返回第一次出现该字符串的索引反之则返回 -1。index() 方法也同理不同之处在于当指定的字符串不存在时index() 方法会抛出异常。
str.find(sub[,start[,end]]) str.index(sub[,start[,end]])
str表示原字符串sub表示要检索的目标字符串start表示开始检索的起始位置。如果不指定则默认从头开始检索end表示结束检索的结束位置。如果不指定则默认一直检索到结尾。
s Hello World
print(s.find(World))
print(s.index(World))# --输出
# 6
# 6分割字符串
str.split(sep, maxsplit)
str表示要进行分割的字符串sep用于指定分隔符可以包含多个字符。此参数默认为 None表示所有空字符包括空格、换行符 “\n”、制表符 “\t” 等maxsplit可选参数用于指定分割的次数最后列表中子串的个数最多为 maxsplit 1。如果不指定或者指定为 -1则表示分割次数没有限制。 需要注意的是在未指定 sep 参数时split() 方法默认采用空字符进行分割但当字符串中有连续的空格或其他空字符时都会被视为一个分隔符对字符串进行分割。 s Hello - World
print(s)
t s.split()
print(t)# --输出
# Hello - World
# [Hello, -, World]合并字符串
join() 方法也是非常重要的字符串方法它是 split() 方法的逆方法用来将列表或元组中包含的多个字符串连接成一个字符串。
newstr str.join(iterable)
newstr表示合并后生成的新字符串str用于指定合并时的分隔符iterable做合并操作的源字符串数据允许以列表、元组等形式提供。
s1 every
s2 night
s3 day
s .join([s1, s2, s1, s3])
print(s)# --输出
# every night every day替换字符串
string.replace( old, new, count )
old 必选字符串类型被替换的字符串new 必选字符串类型替换后的字符串count 可选整型替换的次数
str1 hello hello hello hello world
str2 str1.replace(hello, world)
print(str2)# --输出
# world world world world world统计统计字符串出现的次数
str.count(sub[,start[,end]])
str表示原字符串sub表示要检索的字符串start指定检索的起始位置也就是从什么位置开始检测。如果不指定默认从头开始检索end指定检索的终止位置如果不指定则表示一直检索到结尾。
s1 every
s2 night
s3 day
s .join([s1, s2, s1, s3])
cnt s.count( , 2)
print(cnt)练习判断字符串是否为回文串
s input()
left, right 0, len(s) - 1
flag True
while left right:if s[left] ! s[right]:flag Falsebreakleft 1right - 1
print(Yes) if flag else print(No)列表(list)
列表特点
列表内能包括多个元素多个元素的类型可以各不相同列表在内存中是紧邻存储 列表的创建
三种列表创建的常用方法
[]list函数range函数
1. [] 使用空方括号[]可以直接创建一个空列表例如
a []2. list函数 可以使用内置的list函数,将其他数据类型转换成列表例如
b list(hello) # [h, e, l, l, o]c list((1,2,3)) # [1, 2, 3]3. range函数
range可以生成一个整数序列转换成list后就是一个列表例如
d list(range(5)) # [0, 1, 2, 3, 4]列表常用方法
方法作用列表.append(元素)向列表中追加一个元素列表.extend(容器)将数据容器的内容依次取出追加到列表尾部列表.insert(下标, 元素)在指定下标处插入指定的元素del 列表[下标]删除列表指定下标元素列表.pop(下标)删除列表指定下标元素(无下标则删除最后一个元素)返回列表中的最后一个元素列表.remove(元素)移除列表中第一个匹配到的指定元素列表.clear()清空列表列表.count(元素)统计此元素在列表中出现的次数列表.index(元素)查找指定元素在列表的下标找不到报错ValueErrorlen(列表)统计容器内有多少元素 遍历列表
与 range 结合in 直接拿元素
a [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]# 与 range 结合
for i in range(len(a)):print(a[i], end )print()
# in 直接拿元素
for e in a:print(e, end )在 Python 中for e in a 循环中e 并不是对列表 a 中元素的引用而是对元素的拷贝。
当使用 for e in a 进行迭代时e 是列表 a 中的元素的拷贝并不是原始元素的引用。这意味着对 e 所做的修改不会影响列表 a 中对应的元素。 列表生成式
列表生成式List Comprehension是一种简洁的语法用于创建新的列表。它允许在单个语句中使用迭代、条件和表达式来定义列表的内容。
new_list [expression for item in iterable if condition]
expression 是生成新列表元素的表达式。item 是迭代过程中的临时变量表示可迭代对象中的每个元素。iterable 是可迭代对象例如列表、字符串、元组等。condition 是可选的条件表达式用于筛选元素。
创建一个包含平方数的列表
squares [x**2 for x in range(1, 6)]
print(squares) # 输出: [1, 4, 9, 16, 25]过滤出偶数的列表
number [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
number_even [x for x in number if not x 1]
print(number_even) # 输出: [2, 4, 6, 8, 10] 处理字符串列表并转换为大写
words [hello, world, python]
upper_words [word.upper() for word in words]
print(upper_words) # 输出: [HELLO, WORLD, PYTHON]练习冰雹序列
背景知识 数学中有⼀系列数字有时被称为雹⽯序列。 考拉兹猜想英语Collatz conjecture⼜称为奇偶归⼀猜想、冰雹猜想。 是指对于每⼀个正整数如果它是奇数则对它乘3再加1如果它是偶数则对它除以2如此循 环最终都能够得到1。
number int(input(请输入一个数字: ))
a [number]
while number 1:if number 1:number number * 3 1else:number // 2a.append(number)
print(a)# 请输入一个数字: 13
# [13, 40, 20, 10, 5, 16, 8, 4, 2, 1]元组(tuple)
元组与列表类似不同之处在于元组的元素不能修改。 元组使用小括号 ( )列表使用方括号 [ ]。 元组创建很简单只需要在括号中添加元素并使用逗号隔开即可。
元组的创建
1.使用逗号创建
a 1, 2, 3, 4, 52.使用圆括号创建
a (1, 2, 3, 4, 5)3.使用tuple()构造函数
a tuple([1, 2, 3, 4, 5])元组的遍历
a tuple([2021-04-01, 开盘, 3010])
print(a)
print(a[0])
print(a[1:3])# (2021-04-01, 开盘, 3010)
# 2021-04-01
# (开盘, 3010)元组的拼接
tup1 (12, 34.56)
tup2 (abc, xyz)
# 创建一个新的元组将两个元组组合
tup3 tup1 tup2
print (tup3)# (12, 34.56, abc, xyz)元组的整个删除
tup (一, 二, 三, 四,五)
print (tup)
del tup
print (删除后的元组 tup : )
print (tup)字典(dict)
在Python中字典Dictionary是一种可变的、无序的数据结构用于存储键-值key-value对。字典通过键来访问值而不是通过索引。字典中的键必须是唯一的而值可以是任何有效的Python对象。字典使用花括号 {} 来创建每个键值对之间使用冒号 : 分隔。
示例
my_dict {name: John, age: 30, city: New York}字典的创建
花括号 {} 创建字典
my_dict {Name: ZZZ, Age: 178, Class: First}
another_dict {}dict() 构造函数创建字典
创建空字典
my dict()使用键值对列表创建字典
pairs [(name, John), (age, 30), (city, New York)]
my_dict dict(pairs)这将使用键值对列表 pairs 创建一个字典对象 my_dict。列表中的每个元素都是一个包含键和值的元组。
使用关键字参数创建字典
my_dict dict(nameJohn, age30, cityNew York)这将使用关键字参数来指定键值对创建一个字典对象 my_dict。每个关键字都表示一个键对应的值则由关键字参数的值确定。
使用可迭代对象创建字典
keys [name, age, city]
values [John, 30, New York]
my_dict dict(zip(keys, values))这将使用 zip() 函数将两个可迭代对象 keys 和 values 组合成一个键值对列表并使用该列表创建一个字典对象 my_dict。 遍历字典
获取字典的键或值或键值对通过键获取值通过键值对获取值
# 示例字典
my_dict {a: 1, b: 2, c: 3}# 获取字典的键
for key in my_dict.keys():print(key, end )
print()
# a b c# 获取字典的值
for value in my_dict.values():print(value, end )
print()
# 1 2 3# 获取字典的键值对
for key, value in my_dict.items():print(key, value)
# a 1
# b 2
# c 3# 通过键获取值
value my_dict[a]
print(value)
# 1# 通过键值对获取值
for key, value in my_dict.items():if key a:print(value)
# 1访问字典
直接访问
如果用字典里没有的键访问数据会输出错误。
dict[key]安全访问
返回指定键的值如果键不存在则返回默认值。
dict.get(key, defaultNone)检查指定键是否存在于字典中返回True或False。
key in dict更新字典
修改原有键
如果键不存在则会创建新的键值对如果键已经存在那么对应的值会被更新。
dict[key] new_valve添加键值对
如果 dict.update() 方法中传递的键在目标字典中已经存在那么该键对应的值会被更新为新的值。如果键不存在会将新的键值对添加到字典中。
dict.update(other_dict)示例
my_dict {name: John, age: 25, city: New York}# 更新已存在的键
my_dict.update({name: Jane})# 添加新的键值对
my_dict.update({gender: Female})print(my_dict)
# {name: Jane, age: 12, city: New York, gender: Female}删除字典键值对
pop某个键值对
删除指定键的键值对并返回该键对应的值。如果键不存在则返回默认值。
dict.pop(key, defaultNone)del某个键值对
del dict[key]练习统计输入中文文章的汉字和出现次数
filter_list [,, , ., 。, , “, , , ”, !, \n]
passage
我与⽗亲不相⻅已⼆年余了我最不能忘记的是他的背影。那年冬天祖⺟死了⽗亲的差
使也交卸了正是祸不单⾏的⽇⼦我从北京到徐州打算跟着⽗亲奔丧回家。到徐州⻅着⽗
亲看⻅满院狼藉的东⻄⼜想起祖⺟不禁簌簌地流下眼泪。⽗亲说“事已如此不必难过
好在天⽆绝⼈之路!”result_dict {}
for word in passage:if word in filter_list:continueif word not in result_dict:result_dict[word] 1else:result_dict[word] 1
print(result_dict)max_ooc 0
max_word
for k, v in result_dict.items():if v max_ooc:max_ooc, max_word v, k
print(f出现次数最多的字是[{max_word}]最大出现次数为{max_ooc})输出结果
{我: 3, 与: 1, ⽗: 5, 亲: 5, 不: 5, 相: 1, ⻅: 3, 已: 2, ⼆: 1, 年: 2, 余: 1, 了: 3, 最: 1, 能: 1, 忘: 1, 记: 1, 的: 5, 是: 2, 他: 1, 背: 1, 影: 1, 那: 1, 冬: 1, 天: 2, 祖: 2, ⺟: 2, 死: 1, 差: 1, 使: 1, 也: 1, 交: 1, 卸: 1, 正: 1, 祸: 1, 单: 1, ⾏: 1, ⽇: 1, ⼦: 1, 从: 1, 北: 1, 京: 1, 到: 2, 徐: 2, 州: 2, 打: 1, 算: 1, 跟: 1, 着: 2, 奔: 1, 丧: 1, 回: 1, 家: 1, 看: 1, 满: 1, 院: 1, 狼: 1, 藉: 1, 东: 1, ⻄: 1, ⼜: 1, 想: 1, 起: 1, 禁: 1, 簌: 2, 地: 1, 流: 1, 下: 1, 眼: 1, 泪: 1, 说: 1, 事: 1, 如: 1, 此: 1, 必: 1, 难: 1, 过: 1, 好: 1, 在: 1, ⽆: 1, 绝: 1, ⼈: 1, 之: 1, 路: 1}
出现次数最多的字是[⽗]最大出现次数为5集合(set)
set是⼀种集合与字典相似也是使⽤哈希函数将key映射到哈希表的⼀种数据结构。只不过不像字典那样key上绑定⼀个valueset集合仅仅有key。
无序性
set和字典都是经映射函数处理后存放在散列表中且出现在散列表中的位置⼀定是随机的是没有顺序的。所以我们不能采⽤下标索引的⽅法访问其中的每个元素之前我们学过列表、元组是可以使⽤下标索引访问每个元素。 set内元素不会重复
my_list [3,1,2,2,3,3,3]
unique set(my_list)
print(unique)# {1, 2, 3}set内增删元素
set.add(element)向集合中添加一个元素。 set.update(*others)向集合中添加多个元素可以传入其他集合、列表或元组。 set.remove(element)从集合中移除指定的元素如果元素不存在则会引发KeyError错误。 set.discard(element)从集合中移除指定的元素如果元素不存在则不会引发错误。 set.pop()随机从集合中移除并返回一个元素。 set.clear()清空集合中的所有元素。 set之间的操作
在Python中你可以使用各种集合操作来对集合进行交集、并集、差集和对称差等操作。下面是一些常见的集合操作 交集使用 set.intersection(other_set) 或 set1 set2 来获取两个集合的交集。 并集使用 set.union(other_set) 或 set1 | set2 来获取两个集合的并集。 差集使用 set.difference(other_set) 或 set1 - set2 来获取两个集合的差集在 set1 中但不在 set2 中的元素。 对称差使用 set.symmetric_difference(other_set) 或 set1 ^ set2 来获取两个集合的对称差在 set1 或 set2 中但不同时在两者中的元素。 子集使用 set.issubset(other_set) 或 set1 set2 来检查 set1 是否是 set2 的子集。 超集使用 set.issuperset(other_set) 或 set1 set2 来检查 set1 是否是 set2 的超集。 不相交集使用 set.isdisjoint(other_set) 来检查两个集合是否没有共同的元素。