python3特殊语法

三元运算符

格式: a = 值1 if 条件 else 值2


列表生成式(由列表生成列表)

List Comprehensions

格式: a = [{'name': u[0], 'age': u[1]} for u in user_list if u['sex'] == 'male']


删除列表中的元素

  • 按值删除(只能删除第一个).remove(x)
listA = [1, 1, 2, 3, 5, 8, 13]
listA.remove(3)  # 删除第一个值=3的元素
print(listA)  # [1, 1, 2, 5, 8, 13]
  • 按索引删除 .pop(i)
# 推荐的pop()方法
listA = [1, 1, 2, 3, 5, 8, 13]
listA.pop(2)  # 删除index=2的元素
print(listA)  # [1, 1, 3, 5, 8, 13]

# 不推荐的del:: del删除的是对变量地址的引用,没有删除值
listA = [1, 1, 2, 3, 5, 8, 13]
del listA[2]  # 删除index=2的元素
print(listA)  # [1, 1, 3, 5, 8, 13]

换行

  1. 一行代码的尾处打一个\就可以在下一行连续书写了
  2. 如果是表达式,还可以用()括起来,中间+处可以换行,()中的内容可以换行

字符串的编码

函数:.encode(编码规则), .decode(编码规则)

  1. ASCII字符编码后没变化,其他字符有变化
  2. 编码后,对应的内存地址不变
  3. 如果编码规则,则自动用utf8编码
  4. utf8、utf-8、utf_8、UTF8、UTF-8、UTF_8这些写法都一样
  5. 如果编码、解码的规则不一样,则解码出来就是乱码

例:

a = '我的祖国'
'''
id = 1fa0ad27440del(10)
value = 我的祖国
type = <class 'str'>
'''

b = a.encode('gb2312')
'''
id = 1fa0ad84bd0del(10)  #!内存地址不变
value = b'\xce\xd2\xb5\xc4\xd7\xe6\xb9\xfa'  #!非ascii字符,编码后就成这样了
type = <class 'bytes'>  #!类型变了
'''

b = a.encode('gbk')
'''
id = 1fa0ad84180del(10)
value = b'\xce\xd2\xb5\xc4\xd7\xe6\xb9\xfa'
type = <class 'bytes'>
'''

b = a.encode()  #!如果规则为空,则默认使用utf8编码规则
'''
id = 1fa0ad848a0del(10)
value = b'\xe6\x88\x91\xe7\x9a\x84\xe7\xa5\x96\xe5\x9b\xbd'
type = <class 'bytes'>
'''

b = a.encode('utf8')  #!utf8、utf-8、utf_8、UTF8、UTF-8、UTF_8这些写法都一样
'''
id = 1fa0ad848a0del(10)
value = b'\xe6\x88\x91\xe7\x9a\x84\xe7\xa5\x96\xe5\x9b\xbd'
type = <class 'bytes'>
'''

b = a.encode('utf8').decode('gbk')  #!编码方式不同,显示出来就是乱码
'''
id = 1fa095a1b90del(10)
value = 鎴戠殑绁栧浗  #!显示出来就是乱码
type = <class 'str'>

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • pyspark.sql模块 模块上下文 Spark SQL和DataFrames的重要类: pyspark.sql...
    mpro阅读 13,143评论 0 13
  • 写在前面的话 代码中的# > 表示的是输出结果 输入 使用input()函数 用法 注意input函数输出的均是字...
    FlyingLittlePG阅读 8,120评论 0 9
  • 官网 中文版本 好的网站 Content-type: text/htmlBASH Section: User ...
    不排版阅读 9,942评论 0 5
  • Python简介 Python历史 Python 是由 Guido van Rossum 在八十年代末和九十年代初...
    莫名其妙的一生阅读 4,664评论 0 2
  • Emily王梓涵阅读 38评论 0 0