zoukankan      html  css  js  c++  java
  • Python 基础补充(一) 列表、元组、集合、字典的区别和相互转换

    一、列表、元组、集合、字典的区别

     列表元组集合字典
    英文 list tuple set dict
    可否读写 读写 只读 读写 读写
    可否重复
    存储方式 键(不能重复) 键值对(键不能重复)
    是否有序 有序 有序 无序 无序,自动正序
    初始化 [1,'a'] ('a', 1) set([1,2]) 或 {1,2} {'a':1,'b':2}
    添加 append 只读 add d['key'] = 'value'
    读元素 l[2:] t[0] d['a']

    1、列表元组转其他

     1 # 列表转集合(去重)
     2 list1 = [6, 7, 7, 8, 8, 9]
     3 set(list1)
     4 # {6, 7, 8, 9}
     5 
     6 #两个列表转字典
     7 list1 = ['key1','key2','key3']
     8 list2 = ['1','2','3']
     9 dict(zip(list1,list2))
    10 # {'key1': '1', 'key2': '2', 'key3': '3'}
    11 
    12 #嵌套列表转字典
    13 list3 = [['key1','value1'],['key2','value2'],['key3','value3']]
    14 dict(list3)
    15 # {'key1': 'value1', 'key2': 'value2', 'key3': 'value3'}
    16 
    17 # 列表、元组转字符串
    18 list2 = ['a', 'a', 'b']
    19 ''.join(list2)
    20 # 'aab'
    21 
    22 tup1 = ('a', 'a', 'b')
    23 ''.join(tup1)
    24 # 'aab

    2、字典转其他

    1 # 字典转换为字符串
    2 dic1 = {'a':1,'b':2}
    3 str(dic1)
    4 # "{'a': 1, 'b': 2}"
    5 
    6 # 字典key和value互转
    7 dic2 = {'a': 1, 'b': 2, 'c': 3}
    8 {value:key for key, value in a_dict.items()}
    9 # {1: 'a', 2: 'b', 3: 'c'}

    3、字符串转其他

     1 # 字符串转列表
     2 s = 'aabbcc'
     3 list(s)
     4 # ['a', 'a', 'b', 'b', 'c', 'c']
     5 
     6 # 字符串转元组
     7 tuple(s)
     8 # ('a', 'a', 'b', 'b', 'c', 'c')
     9 
    10 # 字符串转集合
    11 set(s)
    12 # {'a', 'b', 'c'}
    13 
    14 # 字符串转字典
    15 dic2 = eval("{'name':'ljq', 'age':24}")
    16 
    17 # 切分字符串
    18 a = 'a b c'
    19 a.split(' ')
    20 # ['a', 'b', 'c']

    二、字典的分割、合并

     1 分割:
     2 base = {'A':1, 'B':2, 'C':3, 'D':4, 'E':5}
     3 subkey = ['C', 'E']
     4 subdict=dict([(key, base[key]) for key in subkey])
     5 print(subdict)——{'C': 3, 'E': 5}
     6 
     7 合并:
     8 方式一:
     9 d1={'user':'root','pwd':'1234'}
    10 d2={'ip':'127.0.0.1','port':8080}
    11 d3=dict(d1, **d2)
    12 print(d3)
    13 
    14 方式二:
    15 d1={'user':'root','pwd':'1234'}
    16 d2={'ip':'127.0.0.1','port':8080}
    17 d3={}
    18 for k,v in d1.items():
    19     d3[k] = v
    20 for k,v in d2.items():
    21     d3[k] = v
    22 print(d3)

    三、list分割、合并

     1 a=[1,2,3,4,5,6]
     2 b=['a','b','c','d']
     3 print(a+b)
     4 
     5 a=[1,2,3,4,5,6]
     6 b=['a','b','c','d']
     7 a+=b
     8 print(a)
     9 
    10 a=[1,2,3,4,5,6]
    11 b=['a','b','c','d']
    12 a.extend(b)
    13 print(a)
    14 
    15 a=[1,2,3,4,5,6]
    16 b=['a','b','c','d']
    17 a[0:0]=b
    18 print(a)
    19 
    20 li = ['a','b','c']
    21 res1=';'.join(li)
    22 res2=''.join(res1).split(';')
  • 相关阅读:
    jquery操作iframe
    KindEditor编辑器——在上传图片中选一张为焦点图片
    js查看浏览器类型和版本
    ASP.Net防止页面刷新重复提交
    js获取url参数
    sql游标简单试用
    jQuery跨域
    两款实用免积分下载工具,支持百度文库、豆丁网等
    Asp.Net 无法解析此远程名称"www.xxx.com"
    android中使用DisplayMetrics获取屏幕参数
  • 原文地址:https://www.cnblogs.com/louis-w/p/8391147.html
Copyright © 2011-2022 走看看