本文目录一览:
- python自学笔记13:元组和字典的操作
- [Python数据分析笔记#7.3.1 字符串对象方法](#Python数据分析笔记#7.3.1 字符串对象方法)
- 学Python编程要做笔记吗
- Python学习笔记:如何将字典快速插入数据库
- python解决csv文件用excel打开乱码问题
- [python3.4学习笔记 3.x和2.x的区别,持续更新](#python3.4学习笔记 3.x和2.x的区别,持续更新)
python自学笔记13:元组和字典的操作
定义元组(tuple):
t1=(1,2,3,4)
#多个数据元组t2=(1,)
#如果元组内只有一个数据,也需要逗号隔开,否则这个数据将是他本身的类型。
元组的操作:
元组类型数据不支持修改,可查找。
查找:
- 按下标查找:
print(t1[1])
- 函数查找:
print(t1.index(1))
返回对应下标,如果数据不存在,程序将报错print(t1.count(1))
统计数据在元组当中出现的次数print(len(t1))
统计元组当中的数据个数
注意:当元组内嵌套列表数据,可以通过下标的方法对列表数据进行修改如:
t3=(1,2,["a","b"])
t3[2][0] = "c" # t3的值将变为(1,2,["c","b"])
定义字典(dict)
字典的特点
- 符号为
{}
- 数据为键(key)值(value)对形式,每个键值对之间用逗号隔开如:
dict1={"name":"小明","age":18,"gender":"男"}
字典的操作:
- 修改数据:
如果key存在,将修改其所对应的值。如果不存在,将在字典最后添加该键值对。dict1["name"] = "小红" dict1["id"] = 3
- 删除数据:
del dict1["name"]
删除字典内的键值对,如果删除的key不存在,程序将会报错del dict1
删除整个字典dict1.clear()
清空字典
- 查找数据:
- 按照key进行查找,最后返回相对应的值
- 按函数进行查找:
get(key, 默认值)
:- 如果查找的key不存在则返回所写的默认值,如果不写默认值则返回
None
print(dict1.get("name")) # 小明 print(dict1.get("id", 110)) # 110
- 如果查找的key不存在则返回所写的默认值,如果不写默认值则返回
keys()
: 返回字典内的所有key,可用for
遍历print(dict1.keys()) # ["name", "age", "gender"] for key in dict1.keys(): print(key)
values()
: 返回字典内的值,可用for
遍历print(dict1.values()) # ["小明", 18, "男"] for value in dict1.values(): print(value)
items()
: 将字典内的数据以元组形式返回,可用for
遍历print(dict1.items()) # [("name", "小明"), ("age", 18), ("gender", "男")] for item in dict1.items(): print(item)
- 遍历字典键值对(拆包): 可在
for
内使用两个临时变量for key, value in dict1.items(): print(f"{key}={value}")
Python数据分析笔记#7.3.1 字符串对象方法
数据清洗和准备
字符串对象方法
Python能够成为流行的数据处理语言的部分原因是其易于处理字符串和文本。大部分文本运算都直接做成了字符串对象的内置方法。
split
: 通过指定分隔符对字符串进行切片。s = "a,b,c" s.split(",") # ['a', 'b', 'c']
strip
: 去除字符串头尾指定的字符,默认是空白符或换行符。s = " abc " s.strip() # 'abc'
- 字符串连接:
- 使用
+
操作符连接字符串,但效率不高。 - 更推荐使用
join
方法:lst = ["a", "b", "c"] "-".join(lst) # 'a-b-c'
- 使用
- 子串检测:
- 使用
in
关键字检测子串是否存在。 index
和find
查找指定值的首次出现的位置。index
找不到会抛出异常,find
会返回-1
。
- 使用
count
: 返回指定子串的出现次数。replace
: 替换指定模式为另一个模式。
其他常用字符串方法
startswith
/endswith
: 判断字符串是否以某个前缀(后缀)开头。lower
/upper
: 转换为小写或大写。ljust
/rjust
: 用空格(或其他字符)填充字符串的空白侧以返回符合最低宽度的字符串。
学Python编程要做笔记吗
因为Python学习时一些知识点不可能都能记得住,还有会同时看多本书。做笔记便于今后复习、查询、消化吸收。
Python学习笔记:如何将字典快速插入数据库
在我们工作中,手头不一定都有VISIO等数据库设计软件,往往是我们直接在SQL企业管理器中直接设计数据库,再添加数据库字典,以方便以后的工作及管理。有时我很苦恼,因为我们不得不打两次相现的数据字段的说明,麻烦。不过,也不尽然,不久前我发现了一个更好的方法:(以我建一个表为例)
- 打开企业管理器。
- 在关系中“右击”,“新建关系”,在让你选择表时选择取消。
- 在关系在,“右键”,选“新建表”,输入我们想要的名字。
- 在我们刚新建的表上“右击”,然后“表视图”,“修改自定义”。
- 在弹出的对话框中选择我们想要的列。
- 确定就OK了。
- 当然可以输入我们脑子里的数据表结构及说明,当我们要生成这个数据表的字典的时候,就选中这些列,CTRL+C,然后到Excel在CTRL+V,如果想到导出WORD中,再在Excel中选中想要的单元格,CTRL+C 到WORD中CTRL+V。
- 当然OK了!
python解决csv文件用excel打开乱码问题
【问题】
Python输出的csv文件用Excel打开,里面的中文会变成乱码,但用Windows下的记事本或Mac下的Numbers打开就正常显示。 原因:Python输出的文件是UTF-8编码写入的,Excel默认以GBK方式读取,导致乱码发生。
【解决方法1】文件产出时设置encoding="utf-8-sig"
用Excel打开CSV时,Excel会先检查文件的第一个字符,来了解这个文件是什么编码方式,如果这个字符是BOM,Excel就知道用UTF-8的方式打开这个文件。Python自带了处理BOM的编码方式utf-8-sig
,因此只需要在文件产出时将encoding
设置为utf-8-sig
。
如果文件不是由Python产出的,只需要以UTF-8方式读入再以utf-8-sig
方式存储即可。
【解决方法2】懒人法,适用只含简体中文的文件
用记事本打开,点击另存为,右下角编码方式选择“ANSI”,这个过程是把这个文件改成GBK编码格式,Excel就是默认用GBK方式打开的。
python3.4学习笔记 3.x和2.x的区别,持续更新
Python 3.x 与 2.x 的主要区别
- print函数:
- Python 2 中:
print 'Hello, World!'
- Python 3 中:
print('Hello, World!')
- Python 2 中:
- 整数除法:
- Python 2 中:
3 / 2 = 1
- Python 3 中:
3 / 2 = 1.5
- Python 2 中:
- Unicode:
- Python 2 中字符串是ASCII编码,需要手动处理Unicode。
- Python 3 中字符串默认是Unicode(UTF-8)。
- 异常处理:
- Python 2 中:
except Exception, e
- Python 3 中:
except Exception as e
- Python 2 中:
- 打开文件:
- Python 2 中:
file()
或open()
- Python 3 中:只能使用
open()
- Python 2 中:
- 输入函数:
- Python 2 中:
raw_input()
- Python 3 中:
input()
- Python 2 中:
- bytes数据类型:
- Python 3 引入了
bytes
和bytearray
类型,用于处理二进制数据。
- Python 3 引入了
- 字符串编码与解码:
- 编码:
s.encode("utf-8")
- 解码:
b.decode("utf-8")
- 编码:
- 字节数组对象:
- 初始化:
bytearray(10)
- 可变性:支持元素修改
- 切片:仍是
bytearray
- 转换:
bytearray("你好", "gbk")
- 初始化:
- chr与ord:
- Python 2 中:
chr(k)
范围是0~255 - Python 3 中:
chr(k)
范围是0~65535
- Python 2 中:
- 除法运算符:
/
:浮点除法//
:整数除法
示例代码对比
print函数
# Python 2
print 'Python', python_version()
print 'Hello, World!'
# Python 3
print('Python', python_version())
print('Hello, World!')
整数除法
# Python 2
3 / 2 = 1
3 // 2 = 1
# Python 3
3 / 2 = 1.5
3 // 2 = 1
Unicode
# Python 2
s = "张三abc12"
b = s.encode("gbk")
s1 = b.decode("gbk")
# Python 3
s = "张三abc12"
b = s.encode("utf-8")
s1 = b.decode("utf-8")
字节数组
# Python 3
a = bytearray(10)
a[0] = 65
print(a) # bytearray(b'A\x00\x00\x00\x00\x00\x00\x00\x00\x00')
字符串与字节数组转换
# Python 3
s = "你好"
b = s.encode("gbk")
c = bytearray(b)
print(c) # bytearray(b'\xc4\xe3\xba\xc3')
c = bytearray("你好", "gbk")
print(c) # bytearray(b'\xc4\xe3\xba\xc3')
总结
Python 3 相比 Python 2 有诸多改进,包括更清晰的语法、更好的 Unicode 支持、更现代的库等。建议新项目直接使用 Python 3,并逐步将旧项目迁移到 Python 3。