资讯专栏INFORMATION COLUMN

用了这么长时间python开发,你还记得多少零碎的基础知识

zollero / 2966人阅读

摘要:输出下标和对应的元素集合集合是无序的,集合中的元素是唯一的,集合一般用于元组或者列表中的元素去重。

python内置的数据类型

Python3.7内置的关键字

["False", "None", "True", "and", "as", "assert", "async", "await", "break", "class", "continue", "def", "del", "elif", "else", "except", "finally", "for", "from", "global", "if", "import", "in", "is", "lambda", "nonlocal", "not", "or", "pass", "raise", "return", "try", "while", "with", "yield"]

格式化输出
A = "dog"
print("It is a %s" % A ) # --> It is a dog
# 格式符可以是 %d整数 %f浮点数
print("%06d"% 1111) #-->001111 # 拿0补全6位,不写0就是拿空格补全6位
print("%.3f" %1.2) #-->1.200 # 保留3位小数
print("It is a {}".format(A) ) # --> It is a dog

关于format函数还可以设置参数,传递对象:format多种用法

逻辑运算符优先级and or not

当not和and及or在一起运算时,优先级为是not>and>or

字符串常见操作

<1>find
检测 str 是否包含在 mystr中,如果是返回开始的索引值,否则返回-1
mystr.find(str, start=0, end=len(mystr))
<2>index
跟find()方法一样,只不过如果str不在 mystr中会报一个异常.
mystr.index(str, start=0, end=len(mystr))
<3>count
返回 str在start和end之间 在 mystr里面出现的次数
mystr.count(str, start=0, end=len(mystr))
<4>replace
把 mystr 中的 str1 替换成 str2,如果 count 指定,则替换不超过 count 次.
mystr.replace(str1, str2, mystr.count(str1))
<5>split
以 str 为分隔符切片 mystr,如果 maxsplit有指定值,则仅分隔 maxsplit 个子字符串
mystr.split(str=" ", 2)
<6>capitalize
把字符串的第一个字符大写
mystr.capitalize()
<7>title
把字符串的每个单词首字母大写

>>> a = "hello world"
>>> a.title()
"Hello world"

<8>startswith
检查字符串是否是以 hello 开头, 是则返回 True,否则返回 False
mystr.startswith(hello)
<9>endswith
检查字符串是否以obj结束,如果是返回True,否则返回 False.
mystr.endswith(".jpg")
<10>lower
转换 mystr 中所有大写字符为小写
mystr.lower()
<11>upper
转换 mystr 中的小写字母为大写
mystr.upper()
<12>ljust
返回一个原字符串左对齐,并使用空格填充至长度 width 的新字符串
mystr.ljust(width)
<13>rjust
返回一个原字符串右对齐,并使用空格填充至长度 width 的新字符串
mystr.rjust(width)
<14>center
返回一个原字符串居中,并使用空格填充至长度 width 的新字符串
mystr.center(width)
<15>lstrip
删除 mystr 左边的空白字符
mystr.lstrip()
<16>rstrip
删除 mystr 字符串末尾的空白字符
mystr.rstrip()
<17>strip
删除mystr字符串两端的空白字符

>>> a = "
	 hello 	
"
>>> a.strip()
"hello "

<18>rfind
类似于 find()函数,不过是从右边开始查找.
mystr.rfind(str, start=0,end=len(mystr) )
<19>rindex
类似于 index(),不过是从右边开始.
mystr.rindex( str, start=0,end=len(mystr))
<20>partition
把mystr以str分割成三部分,str前,str和str后
mystr.partition(str)
<21>rpartition
类似于 partition()函数,不过是从右边开始.
mystr.rpartition(str)
<22>splitlines
按照行分隔,返回一个包含各行作为元素的列表
mystr.splitlines()
<23>isalpha
如果 mystr 所有字符都是字母 则返回 True,否则返回 False
mystr.isalpha()
<24>isdigit
如果 mystr 只包含数字则返回 True 否则返回 False.
mystr.isdigit()
<25>isalnum
如果 mystr 所有字符都是字母或数字则返回 True,否则返回 False
mystr.isalnum()
<26>isspace
如果 mystr 中只包含空格,则返回 True,否则返回 False.
mystr.isspace()
<27>join
mystr 中每个元素后面插入str,构造出一个新的字符串
mystr.join(str)

列表相关操作

修改元素
修改元素的时候,要通过下标来确定要修改的是哪个元素,然后才能进行修改

查找元素("查"in, not in, index, count)

index和count与字符串中的用法相同
>>> a = ["a", "b", "c", "a", "b"]
>>> a.index("a", 1, 3) # 注意是左闭右开区间
Traceback (most recent call last):
  File "", line 1, in 
ValueError: "a" is not in list
>>> a.index("a", 1, 4)
3
>>> a.count("b")
2
>>> a.count("d")
0

删除元素("删"del, pop, remove)
del:根据下标进行删除,关键字del list[1]
pop:删除并返回最后一个元素list.pop()还可以指定位置删除list.pop(0)
remove:根据元素的值进行删除,函数list.remove("dog")

排序(sort, reverse)
reverse方法是将list逆置list.reverse()
sort是将原list排序,a.sort(reverse=True) # reverse=True 是对倒序排序
sorted是返回一个新列表
sorted和sort都有个参数key,key可以是lambda函数,来指定排序排序规则

  >>> sorted(L, key=lambda x:x[1])     # 利用key按照每个元素的1下标的子元素排序
  [("a", 1), ("b", 2), ("c", 3), ("d", 4)]

字典

查找元素

a = {"a":1}
print(a.setdefault("b", 2)) # --> 2 # 找不添加到字典中
print(a.get("c"))           # --> None # 找不到不报错
print(a)                    # --> {"a": 1, "b": 2}

删除元素

a = {"a": 1, "b": 2}
del a["a"] # 删除指定key
del a      # 删除整个字典在内存里清除
clear a    # 清空字典,a={}

字典常见操作
<1>dict.len()
测量字典中,键值对的个数
<2>dict.keys()
返回一个包含字典所有KEY的列表
<3>dict.values()
返回一个包含字典所有value的列表
<4>dict.items()
返回一个包含所有(键,值)元祖的列表

   - 后三个功for遍历使用

枚举enumerate()

enumerate() 函数用于将一个可遍历的数据对象(如列表、元组或字符串)组合为一个索引序列,同时列出数据和数据下标,一般用在 for 循环当中。

>>> chars = ["a", "b", "c", "d"]
>>> for i, chr in enumerate(chars):
...     print i, chr # 输出下标和对应的元素
集合

集合是无序的,集合中的元素是唯一的,集合一般用于元组或者列表中的元素去重。
定义一个集合set1=set(),注意:不能使用{}这是字典

添加元素(add,update)

set1 = {1, 2, 4, 5}
set1.add(6) # 添加一个元素
set1.update("abcd") #是把要传入的元素拆分,做为个体传入到集合中

删除元素(remove,pop,discard)

set1.remove(22)删除集合中的元素 如果有 直接删除 如果没有 程序报错

set1.pop()随机删除集合中的元素 如果set1没有元素讲程序报错

set1.discard(2)如果元素存在 直接删除 如果元素不存在 不做任何操作

交并差集(&|-) 都是返回一个新集合

数据类型的公共方法
运算符 Python 表达式 结果 描述 支持的数据类型
+ [1, 2] + [3, 4] [1, 2, 3, 4] 合并 字符串、列表、元组
* ["Hi!"] * 4 ["Hi!", "Hi!", "Hi!", "Hi!"] 复制 字符串、列表、元组
in 3 in (1, 2, 3) True 元素是否存在 字符串、列表、元组、字典
not in 4 not in (1, 2, 3) True 元素是否不存在 字符串、列表、元组、字典
python内置函数

max() 返回最大元素

min() 返回最小元素

len(容器)

del(变量) 删除变量

map(function, iterable, ...)
根据提供的函数对指定序列做映射

reduce(function, iterable[, initializer]) # initializer是初始参数
对参数序列中元素进行累积

filter(function, iterable)
用于过滤序列,过滤掉不符合条件的元素,返回由符合条件元素组成的迭代器对象(py3)。py2返回列表

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

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

相关文章

  • 26自学转行前端(写给和1年前一样迷茫你)

    摘要:转行前端有哪些疑虑在人生的抉择处,寻求一些别人的经验和总结,无可厚非,但是决定了就一定要坚定的走下去,谨慎是为了更好的坚持,而不是放弃的理由。写在前面这里前后端指的是开发的前后端。 转行前端有哪些疑虑? 在人生的抉择处,寻求一些别人的经验和总结,无可厚非,但是决定了就一定要坚定的走下去,谨慎是为了更好的坚持,而不是放弃的理由。写在前面:这里前后端指的是web开发的前后端。1、前端岗位需...

    番茄西红柿 评论0 收藏2637
  • 26自学转行前端(写给和1年前一样迷茫你)

    摘要:转行前端有哪些疑虑在人生的抉择处,寻求一些别人的经验和总结,无可厚非,但是决定了就一定要坚定的走下去,谨慎是为了更好的坚持,而不是放弃的理由。写在前面这里前后端指的是开发的前后端。 转行前端有哪些疑虑? 在人生的抉择处,寻求一些别人的经验和总结,无可厚非,但是决定了就一定要坚定的走下去,谨慎是为了更好的坚持,而不是放弃的理由。写在前面:这里前后端指的是web开发的前后端。1、前端岗位需...

    番茄西红柿 评论0 收藏2577
  • 26自学转行前端(写给和1年前一样迷茫你)

    摘要:转行前端有哪些疑虑在人生的抉择处,寻求一些别人的经验和总结,无可厚非,但是决定了就一定要坚定的走下去,谨慎是为了更好的坚持,而不是放弃的理由。写在前面这里前后端指的是开发的前后端。 转行前端有哪些疑虑? 在人生的抉择处,寻求一些别人的经验和总结,无可厚非,但是决定了就一定要坚定的走下去,谨慎是为了更好的坚持,而不是放弃的理由。写在前面:这里前后端指的是web开发的前后端。1、前端岗位需...

    番茄西红柿 评论0 收藏0
  • 我是一个线程(上)

    摘要:我是一个线程,我一出生就被编了个号然后被领到一个昏暗的屋子里,这里我发现了很多和我一模一样的同伴。我身边的同伴待的时间比较长,他带着沧桑的口气对我说我们线程的宿命就是处理包裹。 我是一个线程, 我一出生就被编了个号: 0x3704, 然后被领到一个昏暗的屋子里, 这里我发现了很多和我一模一样的同伴。 我身边的同伴0x6900 待的时间比较长, 他带着沧桑的口气对我说:我们线程的宿命...

    joywek 评论0 收藏0

发表评论

0条评论

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