列表
#!/usr/bin/env python
# -*- coding:utf-8 -*-
# @Time : 2017/10/19 14:27
# @author : hezefan
# @file : 9.py
'''列表'''
str1 =
'asdsa'
print
(
list
(str1))
##输出['a', 's', 'd', 's', 'a']
a = [
'a'
,
123
,
'b'
,
'c'
]
print
(a)
print
(
type
(a))
##list
print
(
dir
(a))
#append 列表末尾追加元素
a.append(
'hello'
)
#在列表a末尾追加一个hello
print
(a)
#pop 列表末尾删除元素
print
(
'###'
*
50
)
a.pop()
print
(a)
#index 跟str的find方法差不读
print
(a[
0
],a[
1
],a[
2
])
#输出('a', 123, 'b')
print
(a.index(
123
))
##查找元素的位置
#insert 列表中插入一个元素
a.insert(
0
,
'fan'
)
#在0的位置插入fan
print
(a)
#remove 删除元素
a.remove(
123
)
#将元素123删除,如果有两个相同的元素,默认删除第一个
print
a
#sort 对列表进行排序
print
a
a.sort()
print
(a)
#reverse 对列表进行反向排序
a.reverse()
print
(a)
#列表切片 注意,切片时候最后一位娶后面数字-1的位置元素
print
(a[:])
#将a的所有元素打印出来
print
(a[
3
:])
#从3位置开始,将剩余元素打印出来
print
(a[:
3
])
#把3位置之前的元素打印出来
print
(a[
1
:
3
])
#把1,2位置的元素打印出来
b = [
0
,
1
,
2
,
3
,
4
,
5
,
6
]
print
(b[
1
:
5
:
2
])
#取值为[1, 3],最后的2表示取值时候的间隔
##元组是一个不可变的list,不可以增删
#!/usr/bin/env python
# -*- coding:utf-8 -*-
# @Time : 2017/10/19 17:13
# @author : hezefan
# @file : 10.py
'''元祖'''
str1 =
'dafdsb.fj,opfasnj5'
print
(
tuple
(str1))
##将字符串转化为元组
a =
tuple
(str1)
print
(
type
(a))
##输出tuple
b = (
'a'
,
'sda'
,
123
)
##直接定义元组
print
(
type
(b))
#但是命名tuple的时候要注意:单个元素的元组时候,元素后面要加上逗号,否则python解析器会认为这是个字符串
c = (
'asd'
)
##c是字符串
print
(
type
(c))
d =(
'dasdas'
,)
##d是元组
print
(
type
(d))
#count统计某个元素的个数
tu1 = (
'a'
,
'b'
,
'c'
,
'a'
,
'c'
,
'a'
,
'd'
)
print
(tu1.count(
'a'
))
##统计a有多少个
##index判断某个元素的位置
print
(tu1.index(
'd'
))
## 判断d的位置,如果元素不存在则会报错
print
(tu1.index(
'e'
))
#!/usr/bin/env python
# -*- coding:utf-8 -*-
# @Time : 2017/10/19 21:00
# @author : hezefan
# @file : 11.py
'''字典'''
#字典 可变容器模型,可存储任意类型对象,key value用:隔开,不同的元素用逗号隔开。key不可变,值可以改变
##字典赋值的三种方法
a = {
'name'
:
'hezefan'
,
'age'
:
100
,
'sex'
:
'gong'
}
b =
dict
(
a
=
1
,
b
=
2
,
c
=
'abc'
)
c =
dict
([(
'name'
,
'hezefan'
),(
'age'
,
20
)])
print
(a)
print
(b)
print
(c)
print
(
'#####'
*
30
)
#字典常用的方法
print
(
dir
(c))
#get方法,获取key的值.如果key指没有返回none
print
(a.get(
'name'
))
#setdefault,和get的方法类似,但是呢,当key值不存在,可以指定返回值,且增加这组元素
print
(a.setdefault(
'name'
))
print
(a.setdefault(
'names'
,
'bejing'
))
##key中没有names,设置返回值为beijing,不设置则返回为none.而且会给字典中增加设置的一组key值
print
(a)
#keys获取字典的所有key值,并且以列表的形式打印出来
print
(a.keys())
print
(a.iterkeys())
##将有所key值变成一个对象,现取现用
#values 获取字典所有的值
print
(a.values())
#iteritems 将字典变成一个对象,现取现用
print
(a.iteritems())
#将字典变成一个对象
for
x,y
in
a.iteritems():
##推荐采用此种方法
print
(x,y)
#打印出所有的元素
print
(a.items())
##同样打印出所有元素,但是字典也别大的话就特别占用内存,推荐采用第一种方法
#has_key判断有没有这个key值
#有key值返回ture,没有返回flase
#pop 将特定的key以及key对应的值删除
print
(a)
a.pop(
'name'
)
##将name以及name对应的值删除
print
(a)
#formkeys将列表中的所有值当成字典的key
l1 = [
'a'
,
'b'
,
'c'
,
'd'
]
m =
dict
.fromkeys(l1,
123
)
print
(m)
##输出{'a': 123, 'c': 123, 'b': 123, 'd': 123}
#zip将两个列表合并为一个字典
l2 = [
1
,
2
,
3
,
4
]
n =
dict
(
zip
(l1,l2))
print
(n)
#update 将两个字典合并
n.update(a)
print
n
#对字典进行排序 sorted 对字典进行排序,输出的值为列表
mm =
dict
(
a
=
1
,
b
=
2
,
c
=
3
,
d
=
4
)
print
(mm)
mn =
sorted
(mm.iteritems(),
key
=
lambda
xx:xx[
1
],
reverse
=
False
)
##xx随便写,写什么都行,xx[1]中的1表示以第二个值为排序对象,也可为0,false为证的顺序,ture为范旭
print
(
type
(mn))
print
(mn)