Python学习(二)数据类型

Python序列:

1,python序列支持双向索引:

  

 

 

2,序列分类比较:字典和集合的地址是用哈希计算的

  

   注意:元组中可以包含可变的序列,可以修改元组中可变序列中的值。可以作为字典的键。

 

 

3,序列常用方法:

  

 例如:

 
x=[1,2,3,8,5]

print("定义列表x为:{}".format(x))

x.append(6)

y=[7,8,9]

print("在列表x的尾部添加元素6后x为:{}".format(x))

x.extend(y)

print("将列表y拼接在x的尾部后x为:{}".format(x))

x.insert(1,1.5)

print("在列表x的第1个位置插入元素1.5后x为{}".format(x))

x.remove(7)

print("移出列表x中值为7的元素后x为{}".format(x))

y=x.pop(1)

print("弹出列表x中第1个元素为:{}\nx为:{}".format(z,x))

num=x.index(8)

num_times=x.count(8)

print("列表x中值为8的元素第一次是在列表的第{}个,一共出现了{}次".format(num,num_times))

x.reverse()

print("列表x逆序输出:{}".format(x))

x.sort(key=None, reverse=False)    #reverse决定升序(False)还是降序(True)

print("列表x升序输出:{}".format(x))

y=x.copy()

print("列表x复制为y:{}".format(y))

输出:
  定义列表x为:[1, 2, 3, 8, 5]   在列表x的尾部添加元素6后x为:[1, 2, 3, 8, 5, 6]   将列表y拼接在x的尾部后x为:[1, 2, 3, 8, 5, 6, 7, 8, 9]   在列表x的第1个位置插入元素1.5后x为[1, 1.5, 2, 3, 8, 5, 6, 7, 8, 9]   移出列表x中值为7的元素后x为[1, 1.5, 2, 3, 8, 5, 6, 8, 9]   弹出列表x中第1个元素为:1.5   x为:[1, 2, 3, 8, 5, 6, 8, 9]   列表x中值为8的元素第一次是在列表的第3个,一共出现了2次   列表x逆序输出:[9, 8, 6, 5, 8, 3, 2, 1]   列表x升序输出:[1, 2, 3, 5, 6, 8, 8, 9]   列表x复制为y:[1, 2, 3, 5, 6, 8, 8, 9]

 注意:

  1,del  列表名或列表中某个值

  2,值存储:

 
x=[1,2,3]*3
x

[1, 2, 3, 1, 2, 3, 1, 2, 3]
 
 
x=[[1, 2, 3], [1, 2, 3], [1, 2, 3]]
x[0][0]=0
x

[[0, 2, 3], [1, 2, 3], [1, 2, 3]]
 
x=[[1,2,3]]*3
x

[[1, 2, 3], [1, 2, 3], [1, 2, 3]]
 
x[0][0]=0
x

[[0, 2, 3], [0, 2, 3], [0, 2, 3]]

  3,删除元素:
错误代码:
 
x=[1,2,3,2,3,2,2]
for i in x:
    if i==2:
        x.remove(i)
x

[1, 3, 3, 2]

正确代码:
 
x=[1,2,3,2,3,2,2]
for i in x[:]:
    if i==2:
        x.remove(i)
x

[1, 3, 3]

4,列表推导式:
 
y=[value*2 if value%3==0 else value*3 for value in [2,3,6,4,-3] if value>0]
y

[6, 6, 12, 12]
5,生成器推导式:产生的结果不是元组,而是生成器对象。必须将生成器对象转为tuple或list才能显示。并且使用一次后就会自动销毁,拥有惰性机制

 

 

 

 

posted on 2020-01-16 21:50  不愧下学  阅读(248)  评论(0编辑  收藏  举报

导航