Python基础2--Python简单数据类型

Posted on 2018-01-28 16:07  _hqc  阅读(134)  评论(0编辑  收藏  举报

 

python简单数据类型

1 list

list的创建,使用[]
a_list = [‘a’, ’b’, ‘c’]

print a_list

print a_list[0] #a

如果去list的最后一个元素,除了计算索引位置外,还可用-1,依次类推,可以获取倒数第2个、倒数第3个

print a_list[-1] #c

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)

 

2 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)

 

3 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’)

 

4 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 #并集