Python数字、字符串、数组之间的相互转换

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

文章目录

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

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

Python数组转数字

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

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

Python数字转数组

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

b = 1234
b = [ 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)))#213
c = ['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 % 10
while n != 0:
    if n % 10 not in res:
        res.append(n % 10)
    n //= 10
s = 0
for i in res:
    s = s * 10 + i
print(int(s))

你可能感兴趣的:(刷题,python,list,Python数字数组转换)