【python】列表中数字的元素变整型,其他元素保持原有数据型

把字符串"File1 alias File2 45332"变成列表,但是转换之后所有元素都变成字符串型了,把数字“45332”变成整型,但不影响其他元素。

#自定义判断是否为整型的函数
def is_number(s):
    try:
        float(s)
        return True
    except ValueError:
        pass

    try:
        import unicodedata
        unicodedata.numeric(s)
        return True
    except (TypeError, ValueError):
        pass

    return False

listCmd = "File1 alias File2 45332"
#把字符串转换成列表
listCmd = listCmd.split()

for i in range(len(listCmd)):
    #如果是整型的话就进行转换
    if is_number(listCmd[i]):
        listCmd[i] = int(listCmd[i])

print(listCmd)
时间: 2024-10-29 21:37:17

【python】列表中数字的元素变整型,其他元素保持原有数据型的相关文章

python列表中添加对象时的注意

最近在用python写代码,用到了对象数组.在c++中我们要使用能够灵活操作的对象数组,一般会用stl的vector类,该类的push_back方法可以将一个对象的拷贝加入到vector对象中,所以当使用[]下标对vector的元素进行修改时,原来的作为push_back参数的那个对象的值并不会改变.python中类似的方法是列表的append方法,但是要注意此时若加入到列表中的是基础数据类型,则是值传递,若是对象,则是引用传递.这种参数的传递方式和java一样.因此,在python中通过列表下

Python列表中包含中文时输出十六进制转中文的小方法

现象:列表中的中文打印出来后显示为十六进制 >>> lt=['大神','zhzhgo'] >>> print lt ['\xb4\xf3\xc9\xf1', 'zhzhgo'] >>> 首先需要明确,这不是乱码,这是 unicode 字符串在内存中的形式,python 在命令行界面输出的数据,如果不是ASCII码,则会以十六进制形式输出. 如何使打印出来的结果显示为中文呢?解决办法如下: #-*-coding:utf-8-*- lt=["大神

python列表中常用方法

#Author:yue#列表li=[1,2,3,4,5]# 1.值的追加# li.append(5)# print(li)# [1, 2, 3, 4, 5, 5]# li.append('yue')# print(li)# [1, 2, 3, 4, 5, 'yue']# 2.清空列表# li.clear()# print(li)# [] # 3 复制 浅拷贝# v = li.copy()# print(li)# print(v)## [1, 2, 3, 4, 5]# [1, 2, 3, 4, 5

python列表中的pop函数

再python的列表中,有许多的内置方法,而在这里我主要向大家介绍一下pop函数. pop函数主要是用于删除列表中的数据.而其删除值时会返回删除的值.如果没有参数传入时, 则会默认认为删除列表的最后一项数据. 如: a = ["ss",'nn','cc'] print(a.pop(1))运行结果就是nn如果是print(a.pop())运行结果就是:cc 原文地址:https://www.cnblogs.com/bao9687426/p/9813041.html

python列表中的深浅copy

列表中的赋值和平常的赋值是不一样的,看下面的代码: In [1]: a = 1 In [2]: b = a In [3]: a Out[3]: 1 In [4]: b Out[4]: 1 In [5]: id(a) Out[5]: 4452948992 In [6]: id(b) Out[6]: 4452948992 In [7]: id(1) Out[7]: 4452948992 In [8]: a = 4 In [9]: b Out[9]: 1 In [10]: id(a) Out[10]:

python列表中enumerate和zip函数用法

enumerate: 定义:enumerate() 函数用于将一个可遍历的数据对象(如列表.元组或字符串)组合为一个索引序列,同时列出数据和数据下标 例子: 1 list1 =[89,98,00,75,68,37,58,90] 2 for index,item in enumerate(list1): 3 if str(item)!='0': 4 list1[index]=int('19'+str(item)) 5 else: 6 list1[index]=int('200'+str(item)

python列表中的所有值转换为字符串,以及列表拼接成一个字符串

>>> ls1 = ['a', 1, 'b', 2] >>> ls2 = [str(i) for i in ls1] >>> ls2 ['a', '1', 'b', '2'] >>> ls3 = ''.join(ls2) >>> ls3 'a1b2'

python---统计列表中数字出现的次数

1 import collections 2 3 a = [1,2,3,1,2,3,4,1,2,5,4,6,7,7,8,9,6,2,23,4,2,1,5,6,7,8,2] 4 b = collections.Counter(a) 5 for c in b: print c,b[c]

python列表中插入字符串使用+号

a = "sdfg" b = "ag" c = "gsrg" li = [] li += a, li += b, li += c, print(li) #['sdfg', 'ag', 'gsrg'] 句尾没有逗号 a = "sdfg" b = "ag" c = "gsrg" li = [] li += a li += b li += c print(li) #['s', 'd', 'f'