Python 数据类型相互转换 --- 字符串str、列表list、集合set、字典dict、元组tuple、数字num

常见的 Python 数据类型相互转换

Python 常用数据类型转换,包含字符串str、列表list、集合set、字典dict、元组tuple、数字num等。

主要转换方式如下表所示:

转换方向 -->>

元组(,)

字符串“”

数字123

列表[]

集合{}

字典{"":""}

元组(,)

/

N="".join(item for item in tuple)

N=int("".join(item for item in tuple))

L=list(tuple)

S=set(tuple)

D={key:value for key,value in enumerate(tuple)}

字符串

“”

T=tuple(str)

/

N=int(str)

 

L=list(str)

S=set(str)

D=eval(str) 

 /

D={key:value for key,value in enumerate(str)}

数字123

T=tuple([num])

S=str(num)

/

L=[int(item) for item in str(num)]

S= set(str(num))

D={key:value for key,value in enumerate(str(num))}

列表[]

T=tuple(list)

S=””.join(list) 

 /

list2=[str(item) for item in list]

S="".join(list2)

N=int("".join(str(item) for item in list))

/

S=set(list)

D={key:value for key,value in enumerate(list)} (单列表) 

/

nvs = zip(list1, list2)  nvDict = dict((key, value) for list1, list2 in nvs) (两列表)

集合{}

T=tuple(set)

S="".join(str(item) for item in set)

N=int("".join(str(item) for item in set))

 

L=list(set)

/

D={key:value for key,value in enumerate(set)}

字典{“”:””}

T=tuple(dict) 

/

T=tuple(dict.values())

S=str(dict)

/

S= "".join(key for key in dict.keys())

/

S="".join(key for key in dict.values())

N= int("".join(key for key in dict.keys()))

L=list(key for key in dict.keys())

/

L=list(key for key in dict.values())

/

/

其中,字符串转字典类型,若字符串格式特殊,类似json类型,可直接通过eval()函数操作,如下:

# 字符串转字典
str = "123"
print({key: value for key, value in enumerate(str)})    # {0: '1', 1: '2', 2: '3'}

str = "{0: '1', 1: '2', 2: '3'}"
dic = eval(str)
print(dic)  # {0: '1', 1: '2', 2: '3'}

列表转字符串类型,简单的情况只包含字符串或数字类型,特殊列表需具体分析。

# 列表转字符串:
list1 = ["1", "2", "3"]
s = ''.join(list1)
print(s, s.__class__)

list1 = [1, 2, 3]
list2 = [str(item) for item in list1]
S = "".join(list2)
print(S, S.__class__)

字典类型转换为其他类型时较为繁琐,且情况多样,在此只列举简单的dict.keys()与dict.values()作为主要转换内容。

总结:

python 中涉及序列对象(str, tuple, list)之间的转换较为简单,str(), tuple(), list() 方法直接转换 或 间接拼接转换;

int() 方法操作的对象为非迭代对象,即 'int' object is not iterable 错误,此时可将对象转换为字符串 str 后再调用 int() 方法;

'str' object is not callable 错误:主要表现在上下文中使用 str 去命名变量或作为参数等,这与python 的内建函数 str() 命名方法冲突,须重命名变量 str 即可。

  • 1
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值