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
    评论
你好,感谢您的提问!下面是我为您提供的Python基本语法和控制结构的示例代码: # 变量赋值示例 name = 'Tom' # 字符串类型变量赋值 age = 18 # 整数类型变量赋值 salary = 10000.51 # 浮点型变量赋值 is_student = True # 布尔型变量赋值 # 基本数据类型示例 string = 'Hello World!' # 字符串 number = 2021 # 整数 float_number = 3.14 # 浮点型 list_data = ['apple', 'banana', 'cherry'] # 列表类型 tuple_data = ('a', 'b', 'c') # 元组类型 set_data = {'apple', 'banana', 'cherry'} # 集合类型 dict_data = {'name': 'Mike', 'age': 23, 'gender': 'male'} # 字典类型 # 类型转换示例 num1 = 10 num2 = '20' num3 = 3.14 str1 = '100' str2 = '3.14' list1 = ['apple', 'banana', 'cherry'] # 整数与字符串类型转换 print(str(num1)) # '10' print(int(num2)) # 20 # 将浮点数转换成整数 print(int(num3)) # 3 # 字符串类型与浮点型转换 print(float(str1)) # 100.0 print(float(str2)) # 3.14 # 列表元组类型转换 print(tuple(list1)) # ('apple', 'banana', 'cherry') print(list(tuple_data)) # ['a', 'b', 'c'] # 输出结果 print(name) print(age) print(salary) print(is_student) print(string) print(number) print(float_number) print(list_data) print(tuple_data) print(set_data) print(dict_data) # 输出类型转换的结果 print(str(num1)) print(int(num2)) print(int(num3)) print(float(str1)) print(float(str2)) print(tuple(list1)) print(list(tuple_data)) 我希望这个示例代码对您有所帮助,如果您还有其他问题,请随时向我提问!

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值