在平时刷题中,经常需要在数字、字符串、数组之间做转换,苦于网上没有全面的总结,遂自己稍微总结一下。

文章目录

    • Python数字、字符串、数组相互转换
      • Python数组转数字
      • Python数字转数组
      • Python字符串转数组
      • Python数组转字符串
      • Python字符数组转数字型数组
      • Python数字型数组转字符数组
    • 来道例题巩固一下

Python数字、字符串、数组相互转换

Python数组转数字

[3, 7, 6, 8, 9]转为37689

nums=[3, 7, 6, 8, 9]a = 0for num in nums:    a = a *10 + numprint(a)#37689

Python数字转数组

1234转为[1, 2, 3, 4]

b = 1234b = [ int(x) for x in str(b) ]print(b)#[1, 2, 3, 4]

Python字符串转数组

“zagiee”转为[‘z’, ‘a’, ‘g’, ‘i’, ‘e’, ‘e’]

b = "zagiee"print(list(b))#['z', 'a', 'g', 'i', 'e', 'e']

Python数组转字符串

a= [2,1,3]print(''.join(map(str, a)))#213c = ['z', 'a', 'g', 'i', 'e', 'e']print(''.join(c))#zagiee

Python字符数组转数字型数组

[‘1’, ‘5’, ‘6’, ‘28’]转为[1, 5, 6, 28]

numbers = ['1', '5', '6', '28']numbers = [ int(x) for x in numbers ]print(numbers)#[1, 5, 6, 28]

Python数字型数组转字符数组

[1, 5, 6, 28]转为[‘1’, ‘5’, ‘6’, ‘28’]

numbers = [1, 5, 6, 28]numbers = [ str(x) for x in numbers ]print(numbers)#['1', '5', '6', '28']

来道例题巩固一下

HJ9 提取不重复的整数
描述
输入一个 int 型整数,按照从右向左的阅读顺序,返回一个不含重复数字的新的整数。
保证输入的整数最后一位不是 0 。

输入描述
输入一个int型整数

输出描述
按照从右向左的阅读顺序,返回一个不含重复数字的新的整数

示例1

输入:
9876673
输出:
37689

解法1

x = input()x = x[::-1]y = ''for i in x:    if i not in y:        y+=i print(y)

解法2

n = int(input())res = []a = n % 10while n != 0:    if n % 10 not in res:        res.append(n % 10)    n //= 10s = 0for i in res:    s = s * 10 + iprint(int(s))