小数据池:
int :-5-256
str : 特殊字符, *数字20
ascii: 八位 一个字节
unicoid: 32位 4个字节
utf-8:中文:24位 3个字节 英文:8位 一个字节
gbk:中文:16位 2个字节 英文:8位 一个字节
文件传输由unicoid--bytes--utf-8
基础数据类型补充:
str:
int
bool
dict
tuple
set:可变数据类型(里面放不可变数据类型),无序,不重复,{ }
增:set.add()
set.update("adb") #迭代增加-------单独增加a,b,c
删:set.pop() 随机删除
set.remove("adb") 按元素删除
set.clear() 清空
del set 删除
查:只能for循环,无序
-------------------------------------------------------
集合的其他操作
1.交集----&
set1 = {1,2,3,4,5} set2 = {4,5,6,7,8} print(set1 & set2) # {4, 5} print(set1.intersection(set2)) # {4, 5}
2.并集-----|或union
set1 = {1,2,3,4,5} set2 = {4,5,6,7,8} print(set1 | set2) # {1, 2, 3, 4, 5, 6, 7,8} print(set2.union(set1)) # {1, 2, 3, 4, 5, 6, 7,8}
3.差集----(- 或者 difference)
set1 = {1,2,3,4,5} set2 = {4,5,6,7,8} print(set1 - set2) # {1, 2, 3} print(set1.difference(set2)) # {1, 2, 3}
4.反交集----(^ 或者 symmetric_difference)
set1 = {1,2,3,4,5} set2 = {4,5,6,7,8} print(set1 ^ set2) # {1, 2, 3, 6, 7, 8} print(set1.symmetric_difference(set2)) # {1, 2, 3, 6, 7, 8}
5.子集与超集
set1 = {1,2,3} set2 = {1,2,3,4,5,6} print(set1 < set2) -----True print(set1.issubset(set2))---True # 这两个相同,都是说明set1是set2子集。
6.frozenset 不可变集合,让集合变成不可变类型
s = frozenset('barry') print(s,type(s)) # frozenset({'a', 'y', 'b', 'r'}) <class 'frozenset'>
----------------------------------------------------------------------------------------------------------------------------
enumerate:枚举,对于一个可迭代的(iterable)/可遍历的对象(如列表、字符串),enumerate将其组成一个索引序列,利用它可以同时获得索引和值。
li = ['alex','银角','女神','egon','太白'] for i in enumerate(li): print(i)
----------------------------------------
(0, 'alex')
(1, '银角')
(2, '女神')
(3, 'egon')
(4, '太白')
------------------------------------------
for index,name in enumerate(li,1): print(index,name)
-----------------------------------------
1 alex
2 银角
3 女神
4 egon
5 太白
--------------------------------------------
for index, name in enumerate(li, 100): # 起始位置默认是0,可更改 print(index, name)
------------------------------------------
100 alex
101 银角
102 女神
103 egon
104 太白
#删除列表的奇数索引数值 在循环列表,字典是不要删除内容,易出错
lis = [1,2,3,4,5,"t","t",4]
val =[]
for i in range(len(lis)):
if i % 2 != 0:
j =len(lis)-i-1
print(j)
val.append(j)
print(val)
for k in val:
lis.pop(k)
print(lis)