相关疑难解决方法(0)

检测Python字符串是数字还是字母

如何检测字符串中的数字或字母?我知道你使用ASCII码,但是哪些功能利用了它们?

python string ascii

28
推荐指数
1
解决办法
10万
查看次数

Python检查列表项是否为数字

我有一个包含字符串格式的数字和字母的列表.

mylist=['1','orange','2','3','4','apple']
Run Code Online (Sandbox Code Playgroud)

我需要提出一个只包含数字的新列表:

mynewlist=['1','2','3','4']
Run Code Online (Sandbox Code Playgroud)

如果我有办法检查列表中的每个项目是否可以转换为Integer,我应该能够通过执行以下操作来提出我想要的内容:

for item in mylist:
    if (check item can be converted to integer):
        mynewlist.append(item)
Run Code Online (Sandbox Code Playgroud)

如何检查字符串是否可以转换为整数?或者有更好的方法吗?

python string integer list

22
推荐指数
4
解决办法
8万
查看次数

如何从python中的列表中删除所有整数值

我只是python的初学者,我想知道是否可以从列表中删除所有整数值?例如,文件就像

['1','introduction','to','molecular','8','the','learning','module','5']
Run Code Online (Sandbox Code Playgroud)

删除后我希望文档看起来像:

['introduction','to','molecular','the','learning','module']
Run Code Online (Sandbox Code Playgroud)

python string

9
推荐指数
4
解决办法
3万
查看次数

如何将intable字符串列表转换为int

在Python中,我想转换一个字符串列表:

l = ['sam','1','dad','21']
Run Code Online (Sandbox Code Playgroud)

并将整数转换为整数类型,如下所示:

t = ['sam',1,'dad',21]
Run Code Online (Sandbox Code Playgroud)

我试过了:

t = [map(int, x) for x in l]
Run Code Online (Sandbox Code Playgroud)

但是显示错误.

如何将列表中的所有intable字符串转换为int,将其他元素保留为字符串?

我的清单可能是多维的.适用于通用列表的方法更可取:

l=[['aa','2'],['bb','3']]

python string int list

7
推荐指数
1
解决办法
6057
查看次数

Lambdas Python for循环

如果某些元素是非数字的,我想在循环内部使用lambdas返回:

strs = ['1234', 'hello', '6787']
Run Code Online (Sandbox Code Playgroud)

我可以使用for循环并遍历每个元素:

for elem in strs:
Run Code Online (Sandbox Code Playgroud)

并检查elem.islpha().

但是,有没有办法使用lambdas耦合for循环来返回单词"hello"

python lambda

7
推荐指数
1
解决办法
3117
查看次数

Python while循环

我在python 3中有这个代码,检查输入错误但我需要确定输入是一个整数,如果不是打印错误消息.

任何人都可以帮助我弄清楚我的while循环中的代码.谢谢

price = 110;

ttt = 1;

while price < 0 or price > 100:

    price = input('Please enter your marks for Maths:');
    ttt =ttt +1;
    if ttt >= 2:
        print( 'This is an invalid entry, Please enter a number between 0 and 100')
Run Code Online (Sandbox Code Playgroud)

python

6
推荐指数
2
解决办法
1万
查看次数

numpy数组的元素明智测试是数值

我有一个数组如下:

In [1]: x = array(['1.2', '2.3', '1.2.3'])
Run Code Online (Sandbox Code Playgroud)

我想测试数组中的每个元素是否可以转换为数值。也就是说,函数:is_numeric(x)将返回True / False数组,如下所示:

In [2]: is_numeric(x)
Out[2]: array([True, True, False])
Run Code Online (Sandbox Code Playgroud)

这该怎么做?

python arrays numpy

6
推荐指数
2
解决办法
3872
查看次数

在Pandas中查找数字列名称

我需要在Pandas中选择列中只包含数值的列,例如:

df=
          0     1     2     3     4 window_label next_states       ids
0      17.0  18.0  16.0  15.0  15.0        ddddd           d      13.0
1      18.0  16.0  15.0  15.0  16.0        ddddd           d      13.0
2      16.0  15.0  15.0  16.0  15.0        ddddd           d      13.0
3      15.0  15.0  16.0  15.0  17.0        ddddd           d      13.0
4      15.0  16.0  15.0  17.0   NaN        ddddd           d      13.0
Run Code Online (Sandbox Code Playgroud)

所以我只需要选择前五列.就像是:

df[df.columns.isnumeric()]
Run Code Online (Sandbox Code Playgroud)

编辑

我提出了解决方案:

digit_column_names = [num for num in list(df.columns) if isinstance(num, (int,float))]
df_new = df[digit_column_names]
Run Code Online (Sandbox Code Playgroud)

不是非常pythonic或pandasian,但它的工作原理.

python dataframe pandas

6
推荐指数
1
解决办法
7327
查看次数

在 Django 中验证 GET 参数的正确方法

我正在构建一个使用 django 模板/动态页面(没有 SPA 技术)的社交网站。我有一些 ajax 调用来检查用户的新闻提要或新消息。这些示例 GET Web 请求如下所示:

GET /feeds/check/?last_feed=3&feed_source=all&_=1500749662203 HTTP/1.1
Run Code Online (Sandbox Code Playgroud)

这是我在视图中接收它的方式:

@login_required
@ajax_required
def check(request):
    last_feed  = request.GET.get('last_feed')
    feeds = Feed.get_feeds_after(last_feed)
Run Code Online (Sandbox Code Playgroud)

一切正常,但我想保护它,以便在恶意用户将 GET 参数设置为 last_feed="123malicious4556" 时函数 get_feeds_after 不会崩溃。目前它崩溃了,因为在 Feed 模型中,该函数执行以下操作:

@staticmethod
def get_feeds_after(feed):
    feeds = Feed.objects.filter(parent=None, id__gt=float(feed))
    return feeds
Run Code Online (Sandbox Code Playgroud)

并因错误而崩溃:

ValueError at /feeds/check/
invalid literal for float(): 2fff2
Run Code Online (Sandbox Code Playgroud)

我目前通过直接对 GET 变量执行检查并处理 int() 转换上的异常来解决这个问题:

def check(request):
    last_feed  = request.GET.get('last_feed')
    try:
        feed_source = int(request.GET.get('last_feed'))
    except ValueError:
        return HttpResponse(0)
Run Code Online (Sandbox Code Playgroud)

我的问题是 django 推荐的最佳解决方法是什么?我知道 django 有特殊的支持表单验证。但这在这里似乎不太正确,因为 GET 调用更像是一个 api 而不是表单,因此为这些 GET 参数定义表单似乎是一个坏主意。 …

python django

5
推荐指数
1
解决办法
4217
查看次数

如何检测列表的非数量?

假设我有一个列表如下:

a = ['111', 213, 74, '99', 't', '88', '-74', -74]
Run Code Online (Sandbox Code Playgroud)

该列表包含数字类型的字符串,数字和数据类型的字符串.

我认为类似数字的字符串可以转换数字,所以它可以看作一个数字.

这是我的方法:

a = ['111', 213, 74, '99', 't', '88', '-74', -74]

def detect(list_):
    for element in list_:
        try:
            int(element)
        except ValueError:
            return False
    return True

print detect(a)
Run Code Online (Sandbox Code Playgroud)

但它看起来如此冗长且难以理解,所以任何人都有更好的方法来检测它?

另外,我的列表包含负数和负数字的字符串,我该怎么办?

python list

4
推荐指数
1
解决办法
1054
查看次数

标签 统计

python ×10

string ×4

list ×3

arrays ×1

ascii ×1

dataframe ×1

django ×1

int ×1

integer ×1

lambda ×1

numpy ×1

pandas ×1