干货!Python中字符串、列表、元祖、字典,集合之间的转换
一、字符串的转化
1、字符串转换成列表
字符串转换成list 的时候,str可以作为迭代对象,直接放入;也可以使用split对字符串进行切割。然后返回list
s = '1a1b1c'
print(list(s))
print(s.split(''))
['', 'a', '', 'b', '', 'c']
['', 'a', 'b', 'c']
2、字符串转化成元祖
s = '1a1b1c'
print(tuple(s))
('', 'a', '', 'b', '', 'c')
3、字符串转换成字典
a='a1b1c1'
b=''
print(zip(a,b))
print(dict(zip(a,b)))
<zip object at 0x00000231AF32D1C8>
{'a': '', '': '', 'b': '', 'c': ''}
a='a1b2c3d4e5'
b=''
print(zip(a,b))
print(dict(zip(a,b)))
<zip object at 0x000002745544D208>
{'a': '', '': '', 'b': '', '': '', 'c': '', '': ''}
4、字符串转换成列表
注重去重
a='a1b1c1'
print(set(a))
{'c', '', 'b', 'a'}
二、列表的转化
1、列表转换成字符串
注:列表里如果有int类型,字典,元祖,列表,则join方法不可用
list = ["","a","bb"]
print("".join(list))
print(" ".join(list))
print("!".join(list))
1abb
1 a bb
1!a!bb
2、列表转换成元祖
list = ['','','','','a',(1,2,3),1,[1,2],{"a":1}]
print(tuple(list))
('', '', '', '', 'a', (1, 2, 3), 1, [1, 2], {'a': 1})
3、列表转换成字典
list1 = ['','','','','a',(1,2,3),5,6]
list2 = ['a','b','c','d','e','f',[1,2],{"g":"h"}]
dict1 = dict(zip(list1,list2))
print(dict1)
{'': 'a', '': 'b', '': 'c', '': 'd', 'a': 'e', (1, 2, 3): 'f', 5: [1, 2], 6: {'g': 'h'}}
4、列表转换成集合
无序的,去重的
list = ['','','','']
print(set(list))
{'', '', ''}
三、元祖的转换
1、转换成字符串
tuple = ('','','','','','','a')
print(''.join(tuple))
123452a
2、转换成列表
tuple = (1,2,3,4,5,'','a')
print(list(tuple))
[1, 2, 3, 4, 5, '', 'a']
3、转换成字典
tuple1 = ('', '', '', '',111,(11,22,33),"")
tuple2 = ('a', 'b', 'c', 'd','e','f','h','g','i','j','k')
dict1 = dict(zip(tuple1, tuple2))
print(dict1)
{'': 'a', '': 'b', '': 'c', '': 'd', 111: 'e', (11, 22, 33): 'f', '': 'h'}
4、转换成集合
tuple1 = ('','','','',4,'')
print(set(tuple1))
{'', 4, '', '', ''}
四、字典的转化
1、转换成字符串
对于生成字符串,需要先生成list和tuple,然后再由list和tuple生成str
2、转换成列表/元祖/集合
字典可以使用 dict.keys() 和dict.values()返回迭代器,通过list和tuple直接生成列表和元祖
dict1 = {1:'a',2:'b',3:'c'}
print(list(dict1.keys()))
print(list(dict1.values()))
print(tuple(dict1.keys()))
print(tuple(dict1.values()))
print(set(dict1.keys()))
print(set(dict1.values()))
print(tuple(dict1.items())) #生成元祖为单位的元祖
print(list(dict1.items())) #生成元祖为单位的列表
print(set(dict1.items())) #生成元祖为单位的集合
[1, 2, 3]
['a', 'b', 'c']
(1, 2, 3)
('a', 'b', 'c')
{1, 2, 3}
{'b', 'c', 'a'}
((1, 'a'), (2, 'b'), (3, 'c'))
[(1, 'a'), (2, 'b'), (3, 'c')]
{(2, 'b'), (3, 'c'), (1, 'a')}
五、集合的转换
1、转换成字符串
列表无序,每次转换成的字符串值都不一定一样,也可以先转为列表或者元祖,再转换成字符串
set1 = {"","","aaa"}
print("".join(set1))
print(type("".join(set1)))
aaa12
<class 'str'>
2、转换成列表/元祖
set1 = {1,2,3,4,5,6}
print(list(set1))
print(tuple(set1))
[1, 2, 3, 4, 5, 6]
(1, 2, 3, 4, 5, 6)
3、转换成字典
无意义的映射,不推荐
dict(zip(set1,set2))
常用转换方法总结:
转换成字符串:"".join()
转换成列表:list()
转换成元祖:tuple()
转换成字典:dict(zip(a,b))
转换成集合:set()
欢迎补充,谢谢~
干货!Python中字符串、列表、元祖、字典,集合之间的转换的更多相关文章
- Python学习笔记---切片 列表 元祖 字典 集合
列表[1,2,3,2]#[] 元祖(1,2,3,2)#() 字典{1:2,3:2}#{} 集合{1,2,3,2}#{} 1,集合与列表的区别,集合里不能有重复元素 2.字典与集合的区别,都是用花括号表 ...
- python-基础-字符串-列表-元祖-字典2
接上:http://www.cnblogs.com/liu-wang/p/8973273.html 3 元组 4 字典 4.1 字典的介绍 <2>软件开发中的字典 变量info为字典类型: ...
- Python基础5:列表 元祖 字典 集合
[ 列表] 列表(list)是Python以及其他语言中最常用到的数据结构之一.Python使用使用中括号 [ ] 来解析列表. 列表是可变的(mutable)——即:可以改变列表的内容. 相关操作: ...
- Python基础5:列表 元祖 字典 集合 Json
[ 列表] 列表(list)是Python以及其他语言中最常用到的数据结构之一.Python使用使用中括号 [ ] 来解析列表. 列表是可变的(mutable)——即:可以改变列表的内容. 相关操作: ...
- python学习之列表,元祖,字典
python基础 列表 [ ] stats =[1,2,3,4,5] 元素1,2,3,4,5 下标,索引,角标,初始从0开始 增加 stats.append(7)#append方法添加 stats. ...
- python学习-字符串 列表 元祖
目录 Python翻转字符串(reverse string) 简单的步长为-1, 即字符串的翻转(常用) 递归反转 借用列表,使用reverse()方法 字符串常用操作 index split 切片 ...
- python-基础-字符串-列表-元祖-字典
1 字符串 1.1 下标和切片 1.2 切片 1.3 字符串常见操作 如有字符串mystr = 'hello world itcast and itcastcpp',以下是常见的操作 <1> ...
- python 中的 字符串 列表 元祖 字典
str 1 格式化输出 %法 第一种 %s+tuple %d+tuple name = input('请输入你的姓名:') age = input('请输入你的年龄:') hobby = input( ...
- Python字符串列表元祖字典的公共方法
运算符 运算符 Python 表达式 结果 描述 支持的数据类型 + [1, 2] + [3, 4] [1, 2, 3, 4] 合并 字符串.列表.元组 * 'Hi!' * 4 ['Hi!', 'Hi ...
- python学习第八讲,python中的数据类型,列表,元祖,字典,之字典使用与介绍
目录 python学习第八讲,python中的数据类型,列表,元祖,字典,之字典使用与介绍.md 一丶字典 1.字典的定义 2.字典的使用. 3.字典的常用方法. python学习第八讲,python ...
随机推荐
- Web安全认证
一.HTTP Basic Auth 每次请求 API 时都提供用户的 username 和 password. Basic Auth 是配合 RESTful API 使用的最简单的认证方式,只需提供用 ...
- TCP 的断包和粘包
以太网中存在一个对于帧的有效数据大小的限制,即 MTU,以太网的 MTU 为 1500 字节. 一.断包 就是说发送端一次发送的消息长度过大,如果超过了 MTU,那么 ip 会对其进行分片. 在网络编 ...
- 左手VS PK 右手IDEA
近日愈发觉得编程是一件有趣的事. 三年前退伍时,还没有确定要继续干这行.去了北京之后,决定写代码吧.Why? 我是一个唯物主义者. 过去两年,一直抱有的念头是,怎么着也要至少干个三年,再寻求不写代码的 ...
- AQS源码解析
文大篇幅引用自HongJie大佬的一行一行源码分析清楚AbstractQueuedSynchronizer,这只是一篇简单的个人整理思路和总结(倒垃圾),如果觉得有些难懂的话,不要犹豫也不要疑惑,很明 ...
- 6.Maven构建过程的各个环节
构建过程中的各个环节 [1]清理:将以前编译得到的旧的class字节码文件删除,为下一次编译做准备 [2]编译:将Java源程序编译成class字节码文件 [3]测试:自动测试,自动调用junit程序 ...
- java如何自定义一个线程池
java线程池的一些简单功能,后续会更新,代码不多,很好理解 package com.rbac.thread; import java.util.ArrayList; import java.util ...
- 用c#判断回文数和降序数
题目:编一个程序,输入一个正整数,判定它是否为回文数和降序数.当输入的数为0时,则退出程序,否则继续循环执行程序. 所谓“降序数”是指一个自然数的低位数字不大于高位数字的数.例如: 64, 55, 3 ...
- 数据源管理 | 基于JDBC模式,适配和管理动态数据源
本文源码:GitHub·点这里 || GitEE·点这里 一.关系型数据源 1.动态数据源 动态管理数据源的基本功能:数据源加载,容器维护,持久化管理. 2.关系型数据库 不同厂商的关系型数据库,提供 ...
- Mac 系统root
没错,你没看错,就是root mac系统安装件的时候,你有没有遇到过这种情况 总之,就是安装不上软件,肿么办? 网上解觉办法是: 进入系统偏好设置,设置为允许任何人,可是进去后这样: 别着急,打开命令 ...
- 31.3 自定义异常类 MyException
/* * 异常的分类: 运行时期异常:RuntimeException的子类就是运行时期异常,在编译时期可以自由选择处理或者不处理 编译时期异常:是Exception的子类,非RuntimeExcpe ...