pyton之基础数据类型的补充

tuple 元祖中如果只有一个元素并且没有逗号,则他不是元祖而是该元素对应的类型
#实例:
# tu1 = (1)
# print(tu1,type(tu1))
# tu2 = ('alex')
# print(tu2,type(tu2))
# tu3 = '[1,2,3]'
# print(tu3,type(tu3))
#
# tu1 = (1,) #加了逗号,现在就是tuple(元祖)数据类型了
# print(tu1,type(tu1))


# == 比较的是两边的数值是否相同
# is 比较的是内存地址是否相同
# id 查询的是内存地址

 

 

 

# 在 正向 循环一个list中,如果改变的列表的大小,name结果可以和你预想的不一样。

 

#示例已知:
l1 = [11,22,33,44,55,66]
# print(l1)
#将索引位奇数位置的元素删除:
#第一种:
# del l1[1:-1:2] #第一个是从索引为1:(22是索引1)开始位置 中间不是默认是到结尾 步长是2
# print(l1)

# for循环 #这个是从前往后删除,这个是错误的,报错:IndexError: list assignment index out of range
# for ind in range(len(l1)):
# print(ind,l1)
# if ind % 2 == 1:
# del l1[ind]
# print(l1)

# 倒序删除 #这个是正确的 #不懂
# i = range(len(l1)-1,-1,-1)
# print(len(l1))
# print(i)
#
# for ind in range(len(l1),0,-1):
# print(ind)

 

 

 

 



# for ind in range(len(l1)-1,-1,-1):
# if ind % 2 ==1:
# del l1[ind]
# print(l1)

dic = {'k1':'v1','k2':'v2','k3':'v3','name':'alex'}
# print(dic)


#将字典中的key键含有'k'元素的所有键值对删除。
#在循环一个字典时,不能改变该字典的大小。 #错误:RuntimeError: dictionary changed size during iteration
# for key in dic:
# if 'k' in key:
# del dic[key]

#正确方法是先定义一个空列表,然后在里面追加,两层for循环
l1=[]
for key in dic:
if 'k' in key:
l1.append(key)
# print(l1)
for key in l1:
del dic[key]
print(dic)


# dict
# dic = dict.fromkeys('abc','alex')
# print(dic) #{'a': 'alex', 'b': 'alex', 'c': 'alex'}
posted @ 2018-10-24 00:02  小菜鸟111  阅读(278)  评论(0编辑  收藏  举报