簡體   English   中英

“用於”使用未使用的變量

[英]“for in” with unused variable

我需要從y的字符中生成一個長度為x的字符串。
我直接的方法是

''.join(random.choice(y) for i in xrange(x))

問題是i被使用。
有一個更好的方法嗎?

沒有更好的辦法了。 您可以命名變量_表示它被忽略:

''.join(random.choice(y) for _ in xrange(x))

_只是一個約定; 經驗豐富的程序員在閱讀您的代碼后將了解,在這里它表示“未使用”,Python不在乎。

從性能的角度來看,在這里使用列表理解會更快:

''.join([random.choice(y) for _ in xrange(x)])

因為該實現需要兩次掃描才能首先確定輸出長度; 這種雙重掃描意味着無論如何將任何生成器表達式都轉換為列表。 在這里使用列表推導可以簡化這種轉換,並且速度更快。

我會使用與隨機包random.sample不同的功能。 一個例子:

import string
from random import sample
y = string.ascii_letters
x = 10
xstr = "".join(sample(y, x))

無需循環...

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM