江湖秘籍,python基本数据类型之列表、元组、字典

一.列表(list)

li=[1,23,'123','name',['洪新武',['45',78]'乌鸦'],'alex',True]
列表格式

1列表中可以嵌套任何类型。

2.列表是以中括号[]括起来。

3.使用‘,’分割每个元素。

4.列表的元素可以是,数字、字符串、列表、布尔值....所有的都可以放进去。

   print (list)       # 输出完整列表 
  print (list[0])     # 输出列表第一个元素
  print (list[1:3])    # 从第二个开始输出到第三个元素
  print (list[2:])     # 输出从第三个元素开始的所有元素
  print (tinylist * 2)  # 输出两次列表
  print (list + tinylist) # 连接列表

二.对列表取值

1.索引取值

li=[1,12,9,'age',['名字',['19',10],'年龄'],'alex',True]
print(li[3])
print(li[4][1][0])
索引取列表里面的元素

2.切片取值

切片取列表里的元素

注意:切片取值的结果也是列表(list)

三.列表的循环

for循环

while循环

li=[1,12,9,'age',['名字',['19',10],'年龄'],'alex',True]
for item in li:
    print(item)
列表的for循环

四.列表元素

1.列表的元素可以被修改,删除。

2.索引方式修改列表元素

对象['元素的位置']='要修改的内容'

li=[1,12,9,'age',['名字',['19',10],'年龄'],'alex',True]
li[1]='已修改'
print(li)
使用索引修改列表(list)里的元素

索引方式删除列表里的元素

del 对象['元素位置']

li=[1,12,9,'age',['名字',['19',10],'年龄'],'alex',True]
del li[1]
print(li)
索引方式删除列表(list)元素

3.切片方式,与索引类似

五.列表的in操作

li=[1,12,9,'age',['名字',['19',10],'年龄'],'alex',True]
v=1 in li
print(v)
in相关操作
li=[1,12,9,'age',['名字',['19',10],'年龄'],'alex',True]
v='名字' in li
print(v)#'名字'在二级元素里面所以输出false
存在一级元素输出true
li=[1,12,9,'age',['名字',['19',10],'年龄'],'alex',True]
v='名字' in li[4]
print(v)

true
指定位置后存在的话输出true

六.列表(list)类中提供的方法

追加

.append 列表尾末添加新的元素

li=[11,22,33,44]
li.append('ssss')
print(li)
追加append

清空

.clear  清空列表

li=[11,22,33,44]
li.clear()
print(type(li))
清空clear

晴空后依然为列表。空列表

计数

.count 计算出元素在列表中出现的次数

a = ["yehe", "test", 123, 123]
  print(a.count(123))
数数count

index  从列表中找出某个值第一个匹配项的索引位置

索引找元素位置

插入 

.insert 指定一个位置插入元素

li=[11,22,33,44,22,88,1,]
li.insert(2,123)
print(li)
指定插入insert

删除

.pop (索引方式)删除列表中的一个元素(默认为最后一个),并且返回值为该元素,没有则会报错

li= ["yehe", "test", 123]
v=li.pop(1)
print(li)
print(v)

['yehe', 123]
test
pop删除

.remove 删除列表指定某元素,左边优先

li= ["yehe", "test", 123]
li.remove('test')
print(li)
remove删除

排序

.sort 对列表进行排序

a = [3, 2, 4, 1]
a.sort()
print(a)


1,2,3,4
sort正排序

取反

reverse  用于反向列表中元素

a = ["yehe", "test", 123]
  a.reverse()
  print(a)

  [123, "test", "yehe"]
取反reverse

 

注意:

  • List卸载方括号之间,元素用逗号分隔
  • 和字符串一样,list可以被索引和切片
  • List可以用+操作符进行拼接
  • List中的元素是可以改变的

 

元组(tuple)

  元组与列表类似。元组卸载小括号里“()”,元素之间用逗号分隔。元组是有序的。

       可以认为元组是列表的二次修改,一级元素不能被修改,增加或者删除。

建议:

  写元组的时候最后加一个“,”用来识别元组。

用法:

  与列表类似,只是不能修改

  只有count与index函数

注意:

  • 和字符串一样,元组可以被索引和切片
  • 元组也可以被索引和切片,方法一样
  • 注意构造包含0或1个元素的元组的特殊语法规则
  • 元组也可以使用+操作符进行拼接

字典(dict)

  列表是有序的对象集合,字典是无序的对象集合。

  字典当中的元素是通过键来存取的,而不是通过索引存取。

  字典是一种映射类型,字典用大括号“{}”表示,它是一个无序的键(key):值(value)对集合。

  键(key)必须使用不可变类型。

  列表、字典不能作为字典的key。

  不能使用切片,因为字典是无序的。

  在同一个字典中,键(key)必须是唯一的。

 

dict = {} 
dict['one'] = "1"
dict[2] = "2"

testdict = {'name': 'yehe','code':1, 'site': 'www.qqq.com'}

print (dict['one'])     # 输出键为 'one' 的值
print (dict[2])        # 输出键为 2 的值
print (testdict)       # 输出完整的字典
print (testdict.keys())   # 输出所有键 
print (testdict.values())  # 输出所有值

字典(dict)提供的方法

清空

.clear 

字典clear清空

fromkeys  创建一个新字典,以序列seq中元素做字典的键,value为字典所有键对应的初始值

  

a = {}
b = ["name", "age", "test"]
print(a.fromkeys(b, 10))

{'name': 10, 'age': 10, 'test': 10}
字典fromkeys

 

posted @ 2018-07-17 23:23  安兹  阅读(214)  评论(0编辑  收藏  举报