python简单数据类型
- list
list的创建,使用[]
a_list = [‘a‘, ‘b‘, ‘c‘]
print a_list
print a_list[0] #a
如果去list的最后一个元素,除了计算索引位置外,还可用-1
print a_list[-1] #c
依次类推,可以获取倒数第2个、倒数第3个
print a_list[-2] #b
print a_list[-3] #a
list元素的增加
a_list.append(‘d‘) #增加到末尾
a_list.insert(1, ‘e‘) #增加到指定位置
a_list.extend([‘f‘, ‘g‘, ‘h‘) #将两个个对象的元素加到该list的末尾
a_list*3 #使用乘法扩展list
list元素的删除
del a_list[1] #删除指定元素
del a_list #删除整个list
a_list.pop() #删除最后一个元素。要删除指定索引位置元素,pop(i)
a_list.remove(‘a‘) #删除首次出现的指定元素
list元素的替换
a_list[1] = ‘z‘ #直接赋值给对应索引位置
list元素的数据类型可以不一样
a_list = [‘apple‘, ‘123‘, True] #True和False首字母要大写
list元素也可以是另一个list
a_list = [‘apple‘, ‘orange‘, [‘python‘, 123], 321]
print len(a_list) #4
list元素访问和计数
直接使用索引位置访问
a_list[1]
获得指定元素首次出现的索引位置
a_list.index(‘a‘)
获得指定元素在list中出现的次数
a_list.count(‘a‘)
适用于元祖、字符串和range
range(10).count(3) #1
(2,2,2,4).count(2) #3
(‘a‘, ‘b‘, ‘c‘, ‘a‘).count(‘a‘) #2
判定指定元素是否在list中
‘a‘ in a_list
切片操作
x = range(10,100)
x[::] #全取
x[::-1] #倒着全取
x[::2] #从头每两个取一个
x[::-2] #倒着每两个取一个
x[1::2] #从位置1每两个取一个
x[3:6] #取指定范围
x[:10 :2] #前10个中每两个取一个
list排序
a_list = [1,2,3,4,5,6]
import random
random.shuffle(a_list) #打乱顺序
a_list.sort() #默认升序
a_list.sort(reverse = True) #降序排序
还可以用sorted()排序,与sort()直接对list修改不同,sorted()返回新列表,不对原列表进行操作
b = sorted(a_list)
将list元素逆序
a_list.reverse()
还可以用reversed()排序,与reverse()直接对list修改不同,reversed()返回新列表,不对原列表进行操作
Newa = reversed(a)
- tuple
tuple和list非常类似,但是tuple一旦初始化就不能修改,他没有append(),insert()这样的方法。获取元素的方法和list一样,但不能赋值成另外的元素
创建tuple用()
a_tuple = (‘a‘, ‘b‘, ‘c‘)
如果建立只包含一个元素的元祖,要在后面加上逗号,
b_tuple = (‘a‘,)
使用tuple()函数将其他类型序列转换为元祖
a = tuple(‘abcdefg‘)
alist = [1,2,3,4,‘a‘]
tuple(alist)
- dict
字典是"键-值对"的无序可变序列,字典中的每个元素包含两个部分:"键"和"值",使用大括号{}。
字典的创建
d = {‘Michael‘:95, ‘Bob‘:75,‘Tracy‘:85}
print d[‘Michael‘] #95
判断key是否存在
print ‘Bob‘ in d #True
print ‘bob‘ in d #False
dict的读取
d[‘Michael‘] #95
还可以通过get的方法,如果key不存在,返回none或自己指定的value
d.get(‘Michael‘) #95
d.get(‘Mi‘, -1) #-1
dict的items()可以返回字典的"key-value"列表
for item in d.items():
print(item)
for key in d:
print(key)
for key, value in d.items():
print(key, value)
dict元素的增加
当以key为下标时,若键存在,则修改value,若不存在,则加一堆key-value
d[‘Michael‘] = 96 #将Michael的值从95修改为96
d[‘Jack‘] = 80 #增加一对key-value
dict删除
要删除一对键值,用pop(key)
d.pop(‘Michael‘)
- set
set的每个元素都是唯一的,使用大括号{}
set的创建
a ={1,2}
print a #set([1,2])
创建set也可以用set()函数将列表、元祖转换为set,如果原来的数据中存在重复元素,在转换时只保留一个
a_set =set(range(8,14))
print a_set
set的增加
a.add(3)
print a #set([1,2,3])
set的运算
s1 = set([1,2,3])
s2 = set([2,3,4])
print s1&s2 #交集
print s1|s2 #并集