python-day4~5_list_dict

 

1,list

 li = ['alex','wusir','egon','女神','taibai']

 #增加 append insert,extend是迭代(即分拆)加入

  # li.append('日天')

  li.insert(4,'春哥') # 在索引位4前插入

  # li.extend('二哥')  # 以迭代方式尾部加入

  # li.extend([1,2,3])

 删除

 li.pop(1) #按索引值删除,默认删最后一个值。会返回删除的值

 li.remove('taibai') # 按元素去删除

 li.clear() #清空

  del li[2:]  #按切片范围删除

 改

  li[0] = "男神"

  li[0:2] = "男神"  #按右边值分拆后迭代改

  li[3] = li[3].replace("神","日天")

 查

  print(li[1][1])

 排序

  li.sort()  #升序

  li.sort(reverse=True)  #降序

  li.reverse()  #反转

  print(li)

2,元组tuple

 #元祖 只读列表,可循环查询,可切片。

 #儿子不能改,孙子(列表)可能可以改。

 tu = (1,2,3,"alex",[3,5,"taibai"],"egon")

3,

 # s = 'alex'

# s1 = 'sb'.join(s)  #将方法内的值,进行迭代分拆后,用前面字符连成一个字符串
# print(s1)
#列表转化成字符串 list -----> str join
# li = ['taibai','alex','wusir','egon','女神',]
# s = '++++'.join(li)
#str ----->list split()
# li1 = s.split('.')

 

 # for i in range(3,10):  #顾头不顾尾
    # print(i)
 # for i in range(10):  #打印0~9
    # print(i)
 # for i in range(0,10,3):  #步长是3
    # print(i)

 

    for i in li:
        if type(i) == list:
            for i2 in i:
                print(i2)
        else:
            print(i)

 作业:

 

4,dict字典

 #数据类型划分:可变数据类型,不可变数据类型
  可变数据类型:value值改变,id值不变,即相同内存空间放了新的值进去;不可变数据类型:value值改变,id值也随之改变,即指向到新的值的内存空间。
 不可变数据类型:元组,bool int str 可哈希
 可变数据类型:list,dict set 不可哈希
 dict key 必须是不可变数据类型,可哈希,
   value:任意数据类型。
 dict 优点:二分查找去查询
   存储大量的关系型数据
   特点:无序的

  i = 22

 print(id(i))

dic1 = {'age': 18, 'name': 'jin', 'sex': 'male',}

按照“键”进行操作

 增:
  # dic1['high'] = 185 #没有键值对,添加
  # dic1['age'] = 16 #如果有键,则值覆盖

  # dic1.setdefault('weight') # 已有键值对,不做任何改变,没有才添加。

  # dic1.setdefault('weight',150)
  # print(dic1)

  dic1.update({'tel':'1234'})  #如存在,更改值,如不存在,则添加到dic1里面

 删:

  print(dic1.pop('age'))   # 按键去删除,返回对应的值。如键不存在会报错

  print(dic1.pop('name',None))  # 键不存在不会报错

  del dic1['name']  # 按键删除,如键不存在会报错

  print(dic1.popitem())  # 随机删除 有返回元组值 里面是删除的键值。

  del dic1['name1']  # 按键删除,如键不存在会报错
  del dic1  # 删除字典
  dic1.clear() #清空字典

 查:

  # print(dic1.keys(),type(dic1.keys()))
  # print(dic1.values())
  # print(dic1.items())

  # print(dic1.get('name1','没有找到这个键'))  #找到则返回值,没有找到则为None或按指定提示

  输出键

  # for i in dic1:
    # print(i)
  # for i in dic1.keys():
    # print(i)

  输出值

  # for i in dic1.values():
    # print(i)

  # v2 = dic1['name1']  # 如键不存在程序会报错
  # print(v2)

  print(dic1.get('name1','没有这个键'))  # 如键不存在,则返回设置的值

5,dict嵌套

 dic = {
  'name':['alex','wusir','taibai'],
  'py9':{
    'time':'1213',
    'learn_money':19800,
    'addr':'CBD',
  },
  'age':21
 }

 # dic['age'] = 56
 # print(dic['name'])
 # dic['name'].append('ritian')  # 增加列表条目
 # dic['name'][1] = dic['name'][1].upper()  # 变更值内容
 # print(dic)

 #female : 6
 # dic['py9']['female'] = 6  # 增加字典条目

 dic['py9'].setdefault('female',6)
 # print(dic)

 

 # fhdklah123rfdj12fdjsl3 ' 123 12 13'
 info = input('>>>').strip()
for i in info:
   if i.isalpha():
     info = info.replace(i," ")  # 这个info,不是循环外的info
 l = info.split()
 print(len(l))

 

 

posted @ 2018-10-22 16:39  烟云过眼  阅读(127)  评论(0)    收藏  举报