资讯专栏INFORMATION COLUMN

python基础

dockerclub / 788人阅读

摘要:查找和替换判断字符串是否以某个字符串开头的,返回值为型判断字符串是否以某个字符串结尾的,返回值为型检测是否包含在字符串中,和是指定范围。

python基础 索引

字符串、列表和元组


字典

切片

切片是指对操作的对象截取其中一部分的操作。字符串、列表、元组都支持切片操作。
切片的语法:[起始:结束:步长],选取的区间前闭后开。下面以字符串为例进行示范:

list

列表是写在方括号([])之间、用逗号分隔开的元素列表。列表可以被索引和截取,列表被截取后返回一个包含所需元素的新列表。列表的常见操作如下:

添加元素append,extend,insert
append() 方法用于在列表末尾添加新的对象。
a=[1,2,3,4]
a.append(5)
print(a)   # [1,2,3,4,5]

extend() 函数用于在列表末尾一次性追加另一个序列中的多个值(用新列表扩展原来的列表)。
a=[1,2]
b=["xiaoming","jack"]
a.extend(b)
print(a) # [1, 2, "xiaoming", "jack"]

insert() 函数用于将指定对象插入列表的指定位置。
a=[1,2,3,4,5,6,7,8]
a.insert(1,100)
print(a) #  [1, 100, 2, 3, 4, 5, 6, 7, 8]
查找元素index、count
count() 方法用于统计某个元素在列表中出现的次数。
a=[1,2,3,4,5,23,4]
a.count(2)   # 1

index() 函数用于从列表中找出某个值第一个匹配项的索引位置。
a=[1,2,3,4,5,23,4]
a.index(4) # 3
删除元素del、pop、remove、clear
del 删除引用而不是删除对象,对象由自动垃圾回收机制删除 
a=[1, 2, 3, 4, 5, 23, 4]
del a[0]
print(a) #[2, 3, 4, 5, 23, 4]
del a 
print(a) # NameError: name "a" is not defined

pop() 函数用于移除列表中的一个元素(默认最后一个元素),并且返回该元素的值。
a=[1,2,3,4,5,6]
b=a.pop()  # b=6
print(a) # [1, 2, 3, 4, 5]
a.pop(3)  # 删除 4
print(a) # [1, 2, 3, 5]

remove() 函数用于移除列表中某个值的第一个匹配项。
a=[1,2,2,3,4,5,5,4,3,2]
a.remove(2)
print(a) # [1, 2, 3, 4, 5, 5, 4, 3, 2]

clear() 函数用于清空列表,类似于 del a[:]。
a=[1,2,3,4,5,6,7,8]
a.clear()
print(a) # []
排序sort、reverse
sort() 函数用于对原列表进行排序,如果指定参数,则使用比较函数指定的比较函数。
sort(...)
    L.sort(key=None, reverse=False) -> None -- stable sort *IN PLACE*
a=[1,2,2,1,2,1,3,4,5]
a.sort() # [1, 1, 1, 2, 2, 2, 3, 4, 5]
或
a.sort(reverse=True) # [5, 4, 3, 2, 2, 2, 1, 1, 1]

reverse() 函数用于反向列表中元素。
a=[5, 4, 3, 2, 2, 2, 1, 1, 1]
a.reverse() # [1, 1, 1, 2, 2, 2, 3, 4, 5]
复制列表copy
copy() 函数用于复制列表,类似于 a[:]。
a=[1,2,3,4,5]
b=a.copy() # b=[1, 2, 3, 4, 5]
copy()和直接=赋值的区别:
使用=直接赋值,是引用赋值,更改一个,另一个同样会变;
copy() 则顾名思义,复制一个副本,原值和新复制的变量互不影响 
元组

元组(tuple)与列表类似,不同之处在于元组的元素不能修改,元组写在小括号(())里。可以把字符串看作一种特殊的元组。虽然tuple的元素不可改变,但它可以包含可变的对象,比如list列表。
构造包含 0 个或 1 个元素的元组比较特殊,所以有一些额外的语法规则:

tup1 = ()    # 空元组
tup2 = (20,) # 一个元素,需要在元素后添加逗号


见上述list的count、index

字典

字典是一种映射类型,字典用"{ }"标识,它是一个无序的键(key) : 值(value)对集合。键(key)必须使用不可变类型。

删除元素clear、pop、popitem
clear() 函数用于删除字典内所有元素。
a={"name":"jack","age":18}
 a.clear() # {}

pop()通过指定的key值,删除字典的一个键值对,返回被删除的key对应的value
a={"name":"jack","age":18}
a.pop("name") # return "jack"  a={"age":18}

popitem()随机返回并删除字典中的一对键和值(项)。为什么是随机删除呢?因为字典是无序的,没有所谓的“最后一项”或是其它顺序。在工作时如果遇到需要逐一删除项的工作,用popitem()方法效率很高。
其返回值是元组,例如上述例子会返回:("name":"jack"),("age":18)
copy
copy():返回一个字典的浅复制,如上list。
fromkeys、items、keys、values
 fromkeys() 函数用于创建一个新字典,以序列seq中元素做字典的键,value为字典所有键对应的初始值。
fromkeys(iterable, value=None, /) method of builtins.type instance
    Returns a new dict with keys from iterable and values equal to value.
a=["a","b","c"]
dict.fromkeys(a) # {"b": None, "c": None, "a": None}
dict.fromkeys(a,10) # {"b": 10, "c": 10, "a": 10}

 items() 方法以列表返回可遍历的(键, 值) 元组数组。
a={"name":"jack","age":18}
a.items() # [("name", "jack"), ("age", 18)]

keys() 方法以列表返回一个字典所有的键。
a.keys() # ["name", "age"]

values()方法以列表返回字典中的所有值。
a.values() # ["jack", 18]
get、update、setdefault
get() 函数返回指定键的值,如果值不在字典中返回默认值。
a.get("name") # "jack"

update() 函数把字典dict2的键/值对更新到dict里。
b={"adress":"china"}
 a.update(b) # {"name": "jack", "adress": "china", "age": 18}

setdefault() 方法和get()方法类似, 如果键不已经存在于字典中,将会添加键并将值设为默认值。
a={"name":"jack","age":18}
a.setdefault("name",None) # "jack"
a.setdefault("adress") # {"name": "jack", "adress": None, "age": 18}
字符串

Python中的字符串用单引号(")或双引号(")括起来,同时使用反斜杠()转义特殊字符。

+是字符串的连接符,*表示复制当前的字符串,紧跟的数字为复制的次数。
Python 使用反斜杠()转义特殊字符,如果你不想让反斜杠发生转义,可以在字符串前面添加一个 r,表示原始字符串:
print(r"Ru
oob")
Python中的字符串不能改变。

判断类型方法(11)

isalnum():至少有一个字符并且所有字符都是字母或数字则返回True。

isalpha():至少有一个字符并且所有字符都是字母则返回True。

isdecimal():只包含数字则返回True。

isdigit():只包含数字则返回True。

isnumeric():只包含数字则返回True。包括汉字数字。

isidentifier():检测字符串是否是字母开头。

islower():至少包含一个区分大小写的字符,且这些字符都是小写则返回True。

isprintable():判断字符串中所有字符是否都属于可见字符。 a = "tPuppy"-》False

isspace():只包含空格则返回True。

istitle():是标题化(每个单词的首字母大写)则返回True。

isupper():至少包含一个区分大小写的字符,且这些字符都是大写则返回True。

大小写转换(5)

capitalize():首字母大写

lower():将所有的字母转换成小写字母

title():每个单词首字母大写

upper():将所有的字母转换成大写字母

swapcase():反转字符串的大小写。大写变小写,小写变大写。

去除空白字符(3)

strip():去除字符串两边的空格。

lstrip():去除字符串左边开头的空格。

rstrip():去除字符串右边开头的空格。

查找和替换(7)

startswith():判断字符串是否以某个字符串开头的,返回值为bool型

endswith():判断字符串是否以某个字符串结尾的,返回值为bool型

find(str[, start[, end]]):检测str是否包含在字符串中,start和end是指定范围。找不到返回-1。

rfind():类似find,只不过从右开始查找。

index(sub[, start[, end]]):类似find,只不过找不到会报错。

rindex():类似index,只不过从右开始查找。

replace(old, new[, count]):把字符串中的 old(旧字符串) 替换成 new(新字符串),如果指定第三个参数count,则替换不超过 count次。

str = "this is string example....wow!!! this is really string"
str.replace("is", "was", 3)
返回结果:"thwas was string example....wow!!! thwas is really string"
拆分与链接(6)

partition(sep):如果字符串包含指定的分隔符,则返回一个3元的元组,第一个为分隔符左边的子串,第二个为分隔符本身,第三个为分隔符右边的子串。如果不包含,则返回原字符串和两个空字符串。

rpartition():类似partition,只不过从右边开始查找。

split(sep=None, maxsplit=-1):字符串分割,默认为所有的空字符,包括空格、换行(n)、制表符(t)等。。如果maxsplit有指定值,则仅分割maxsplit+1个字符串,例:b="a b c x s d f g h j",b.split(maxsplit=3), ["a", "b", "c", "x s d f g h j"]

rsplit():类似split

splitlines([keepends]):在输出结果里是否去掉换行符("r", "rn", n"),默认为 False,不包含换行符,如果为 True,则保留换行符。

>>> "ab c

de fg
kl
".splitlines()
["ab c", "", "de fg", "kl"]
>>> "ab c

de fg
kl
".splitlines(True)
["ab c
", "
", "de fg
", "kl
"]

join(seq):用于将序列中的元素以指定的字符连接生成一个新的字符串。

a="dufhskmakndkac"
 "-".join(a) # "d-u-f-h-s-k-m-a-k-n-d-k-a-c"
其他(12)

casefold():

center(width[, fillchar):返回一个指定的宽度 width 居中的字符串,fillchar 为填充的字符,默认为空格。fillchar 默认是空格,只能是单个字符。如果 width 小于字符串宽度直接返回字符串,不会截断。

count(sub[, start[, end]]):用于统计字符串里某个字符出现的次数。可选参数为在字符串搜索的开始与结束位置。

encode(encoding="UTF-8",errors="strict")):以指定的编码格式编码字符串。errors参数可以指定不同的错误处理方案。

expandtabs(tabsize=8):把字符串中的 tab 符号("t")转为空格,tab 符号("t")默认的空格数是 8。

format():格式化输出字符串。参考

format_map():

ljust(width[, fillchar]):返回一个原字符串左对齐,并使用空格填充至指定长度的新字符串。如果指定的长度小于原字符串的长度则返回原字符串。类似center

rjust(width[, fillchar]):返回一个原字符串右对齐,并使用空格填充至指定长度的新字符串。如果指定的长度小于原字符串的长度则返回原字符串。类似center

maketrans(intab, outtab):用于创建字符映射的转换表,对于接受两个参数的最简单的调用方式,第一个参数是字符串,表示需要转换的字符,第二个参数也是字符串表示转换的目标。

两个字符串的长度必须相同,为一一对应的关系。

intab = "aeiou"
outtab = "12345"
trantab = str.maketrans(intab, outtab)

str = "this is string example....wow!!!"
print (str.translate(trantab))
Out:
th3s 3s str3ng 2x1mpl2....w4w!!!

translate(table):根据参数table给出的表(包含 256 个字符)转换字符串的字符,要过滤掉的字符放到 deletechars 参数中。参考

zfill():返回指定长度的字符串,原字符串右对齐,前面填充0。

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/41452.html

相关文章

  • Python3基础知识

    摘要:基础知识基础语法基础知识编程第一步基础知识基本数据类型基础知识解释器基础知识注释基础知识运算符基础知识数字基础知识字符串基础知识列表基础知识元组基础知识字典基础知识条件控制基础知识循环基础知识迭代器与生成器基础知识函数基础知识数据结构基础知 Python3基础知识 | 基础语法 Python3基础知识 | 编程第一步 Python3基础知识 | 基本数据类型Python3基础知识 | ...

    freecode 评论0 收藏0
  • Python3基础知识

    摘要:基础知识基础语法基础知识编程第一步基础知识基本数据类型基础知识解释器基础知识注释基础知识运算符基础知识数字基础知识字符串基础知识列表基础知识元组基础知识字典基础知识条件控制基础知识循环基础知识迭代器与生成器基础知识函数基础知识数据结构基础知 Python3基础知识 | 基础语法 Python3基础知识 | 编程第一步 Python3基础知识 | 基本数据类型Python3基础知识 | ...

    z2xy 评论0 收藏0
  • 编程零基础应当如何开始学习 Python

    摘要:首先,在学习之前一定会考虑一个问题版本选择对于编程零基础的人来说,选择。建议从下面课程开始教程标准库官方文档非常贴心地提供中文翻译首先需要学习的基础知识,下载安装导入库字符串处理函数使用等等。 提前说一下,这篇福利多多,别的不说,直接让你玩回最有手感的怀旧游戏,参数贴图很方便自己可以根据喜好修改哦。 本篇通过以下四块展开,提供大量资源对应。 showImg(https://segmen...

    JackJiang 评论0 收藏0
  • 基础如何学爬虫技术

    摘要:楚江数据是专业的互联网数据技术服务,现整理出零基础如何学爬虫技术以供学习,。本文来源知乎作者路人甲链接楚江数据提供网站数据采集和爬虫软件定制开发服务,服务范围涵盖社交网络电子商务分类信息学术研究等。 楚江数据是专业的互联网数据技术服务,现整理出零基础如何学爬虫技术以供学习,http://www.chujiangdata.com。 第一:Python爬虫学习系列教程(来源于某博主:htt...

    KunMinX 评论0 收藏0

发表评论

0条评论

最新活动
阅读需要支付1元查看
<