python基础 day7

小数据池:
int -5~256
str 特殊字符,*数字20


ascii : 8位 1字节 表示1个字符
unicode 32位 4个字节 表示一个字符
utf- 8 1个英文 8位,1个字节
欧洲 16位 两个字节 表示一个字符
亚洲 24位 三个字节 表示一个字符

gbk 1个英文 8位,1个字节
亚洲 16位 两个字节 表示一个字符

s = 'alex'
b = s.encode('utf-8')
print(b) # b'alex'

1,基础数据类型汇总补充
str
int
list
在循环一个列表时,最好不要删除列表中的元素,这样会使索引发生改变,从而报错。
bool
dict
1,fromkeys()

tuple
2,集合set

#集合是可变的数据类型,里面的元素必须是不可变的数据类型,无序,不重复
#增
# set1={'alex','wusir','ritian','egon','barry'}
# set1.add('女神')
# set1.update('abc')
# print(set1)
#删
# set1.pop()
# set1.remove('alex')
# set1.clear()
# del set1
# print(set1)
#查
# for i in set1:
# print(i)
#交集 并集 反交集 差集
# set1={1,2,3,4,5}
# set2={4,5,6,7,8}
# set3=set1 & set2
# set3=set1|set2
# set3=set1^set2
# set3=set1-set2
# print(set3,set1.difference(set2))

# set1={1,2,3}
# set2={1,2,3,4,5,6,7,8}
# #set1是set2的子集,set2是set1 的超集
#去重
# li=[1,2,33,33,2,1,4,5,6,7]
# li=set(li)
# li=list(li)
# print (li)
#把集合变成不可变数据类型
# s=frozenset('barry')
# print(s,type(s))


3,深浅copy

#赋值运算
# l1=[1,2,3]
# l2=l1
# l1.append('a')
# print (l2)
#copy #对于浅copy来说,只是在内存中重新创建了开辟了一个空间存放一个新列表,
# 但是新列表中的元素与原列表中的元素是公用的
# l1=[1,2,3]
# l2=l1.copy()
# print(l1,l2)
# print(id(l1),id(l2))
# l2.append('a')
# # print(l1,l2)
# l1=[1,2,[4,5,6,],3]
# l2=l1.copy()
# print(id(l1),id(l2))
# l1.append('a')
# l1[2].append('a')
# l2.append('b')
# l2[2].append('b')
# print(l1,l2)
# print(id(l1),id(l2))
#deepcopy 对于深copy来说,列表是在内存中重新创建的,列表中可变的数据类型是重新创建的,
# 列表中的不可变的数据类型是公用的。
import copy
# l1=[1,2,[4,5,6,],3]
# l2=copy.deepcopy(l1)
# print(l1,l2,id(l1),id(l2))
# l2[2].append('a')
# print(l1,l2)
# l1=[1,[1],2,3]
# l2=l1[:]
# l1[1].append('a')
# # print (l1,l2,id(l1),id(l2))
# print(l1[1]is l2[1])
# li = ['alex','taibai','wusir','egon']
# for i in li:
# print(li.index(i),i)
# for index,i in enumerate(li,1):
# print(index,i)
 lis=[11,22,33,44,55] #删除奇数位元素
lis1=[]
for i in range(len(lis)):
    if i%2==0:
         lis1.append(lis[i])
 lis=lis1
 print(lis)
删除奇数位元素

 

posted @ 2019-03-19 22:13  遗忘天际  阅读(162)  评论(0编辑  收藏  举报