Python几种变量的使用

几种变量:
list:  classmates = ['Michael', 'Bob', 'Tracy']
tuple: classmates = ('Michael', 'Bob', 'Tracy')
dict: d = {'Michael': 95, 'Bob': 75, 'Tracy': 85}
set: s = set([1, 2, 3])


list

变量classmates就是一个 list。
len()函数可以获得 list 元素的个数:
>>> len(classmates)

用索引来访问 list 中每一个位置的元素

>>> classmates[0]

最后一个元素的索引是 len(classmates) - 1 ,如果要取最后一个元素,除了计算索引位置外,还可以用 -1做索引,直接获取最后一个元素, -2 是倒数第二个

list 元素也可以是另一个 list,比如:

>>> s = ['python', 'java', ['asp', 'php'], 'scheme']
 
追加
list 是一个可变的有序表,所以,可以往 list 中追加元素到末尾:

>>> classmates.append('Adam')

插入
比如索引号为1的位置:

>>> classmates.insert(1, 'Jack')

删除 list 末尾的元素
pop()方法:

>>> classmates.pop()

删除
pop(i)方法,其中i是索引位置:

>>> classmates.pop(1)

替换
可以直接赋值给对应的索引位置:
>>> classmates[1] = 'Sarah'
list排序:
>>> a = ['c', 'b', 'a'] 
>>> a.sort() 
>>> a 
['a', 'b', 'c']
切片

取前 3 个元素:>>> L[0:3] ,如果从0开始也可以省略0: >>> L[:3]

下标循环

使用enumerate可以把list变为索引-元素对

for i, value in enumerate(['A', 'B', 'C']): 
    print i, value



Tuple

另一种有序列表叫元组:tuple。tuple 和 list 非常类似,但是 tuple 一旦初始化就不能修改
“可变的”tuple:

>>> t = ('a''b', ['A''B'])
>>> t[2][0] = 'X'
>>> t[2][1] = 'Y'
>>> t
('a''b', ['X''Y'])



Dict


>>> d = {'Michael': 95, 'Bob': 75, 'Tracy': 85} 
>>> d['Michael']

也可以通过key设定值>>> d['Adam'] = 67

判断key是否存在

(1)>>> 'Thomas' in d
(1)通过 dict 提供的 get 方法,如果 key 不存在,可以返回 None,或者自己指定的 value:

>>> d.get('Thomas') 
>>> d.get('Thomas', -1) 
-1
删除key
要删除一个 key,用 pop(key)方法,对应的 value 也会从 dict 中删除:
>>> d.pop('Bob')
dict 是用空间来换取时间的一种方法。正确使用 dict 非常重要,需要牢记的第一条就是 dict 的 key 必须是不可变对象。
这是因为 dict 根据 key 来计算 value 的存储位置,如果每次计算相同的 key 得出的结果不同,那 dict 内部就完全混乱了。这个通过 key 计算位置的算法称为哈希算法(Hash)。要保证 hash 的正确性,作为 key 的对象就不能变。在 Python 中,字符串、整数等都是不可变的,因此,可以放心地作为 key。而 list 是可变的,就不能作为 key.

输入dict并遍历:

d={} 
i=0 
while i<=1: 
  name=raw_input('hey ') 
  value=raw_input('value') 
  d[name]=value 
  i=i+1 
for i in d:    #两种遍历方法
    print "d[%s]=" % i,d[i] 

for k,v in d.iteritems(): 
    print k,v



set

set 和 dict 类似,也是一组 key 的集合,但不存储 value。由于 key 不能重复,所以,在 set 中,没有重复的 key。
要创建一个 set,需要提供一个 list 作为输入集合:
>>> s = set([1, 2, 3])
( 传入的参数[1, 2, 3]是一个 list , 重复元素在 set 中自动被过滤)

添加key:

通过add(key)方法可以添加元素到 set 中,>>> s.add(4)

删除key:

通过remove(key)方法可以删除元素,>>> s.remove(4)

交集、并集:
>>> s1 = set([1, 2, 3]) 
>>> s2 = set([2, 3, 4]) 
>>> s1 & s2 
set([2, 3]) 
>>> s1 | s2 
set([1, 2, 3, 4])


##迭代

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值