小编Roh*_*ani的帖子

Python的字典排序列表,最后为零值

我有一个零值的同义字典列表,但它可以包含任何类型的值.例:

values=[{'buy_qty': 15, 'product_id': 30}, {'buy_qty': 0,'product_id': 33},{'buy_qty': 25, 'product_id': 50}, {'buy_qty': 7, 'product_id': 22}]
Run Code Online (Sandbox Code Playgroud)

有没有办法没有重新发明轮子获取列表排序的'最小'buy_qty"通常为python方式,但列表末尾的"零"值,如下所示:

values=[{'buy_qty': 7, 'product_id': 22}, {'buy_qty': 15, 'product_id': 30}, {'buy_qty': 25, 'product_id': 50}, {'buy_qty': 0,'product_id': 33}]
Run Code Online (Sandbox Code Playgroud)

我试过过itemgetter,

sorted(total_lines, key=itemgetter('buy_qty'))
Run Code Online (Sandbox Code Playgroud)

我觉得这里可以使用"key"参数进行一些技巧

python sorting dictionary list

3
推荐指数
1
解决办法
514
查看次数

文件对象传递抛出了 csv 阅读器 Python 3.6

示例文件对象数据包含以下内容,

b'QmFyY29kZSxRdHkKQTIzMjMsMTAKQTIzMjQsMTUKNjUxMDA1OTUzMjkyNSwxMgpBMjMyNCwxCkEyMzI0LDEKQTIzMjMsMTAK'
Run Code Online (Sandbox Code Playgroud)

python 文件包含以下代码

string_data = BytesIO(base64.decodestring(csv_rec))
read_file = csv.reader(string_data, quotechar='"', delimiter=',')
next(read_file)
Run Code Online (Sandbox Code Playgroud)

当我在 python 中运行上面的代码时,出现以下异常

_csv.Error:迭代器应该返回字符串,而不是整数(您是否以文本模式打开文件?)

如何以文本模式打开字节数据?

python csv python-3.x

3
推荐指数
1
解决办法
697
查看次数

对包含特定格式的字母数字值的列表进行排序

我有一个包含以下详细信息的列表:

['00A', '01B', '05A', '00A', '23C', '00B']
Run Code Online (Sandbox Code Playgroud)

我想对此列表进行排序,使值按以下顺序排列:

['00A', '00A', '05A', '00B', '01B', '23C']
Run Code Online (Sandbox Code Playgroud)

我尝试了不同的方法,

sorted(a, key = lambda x: (isinstance(x, str), x))
Run Code Online (Sandbox Code Playgroud)

但没有给出正确的答案 - 它给出:

['00A', '00A', '00B', '01B', '05A', '23C']
Run Code Online (Sandbox Code Playgroud)

所以我想首先根据它们的结束位置 alpha 值对它们进行排序,然后是数字后面的前导数值。

我该如何继续?

python

-1
推荐指数
1
解决办法
59
查看次数

标签 统计

python ×3

csv ×1

dictionary ×1

list ×1

python-3.x ×1

sorting ×1