亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

在python中將字符串列表與數字數組連接起來的最簡單方法是什么

在python中將字符串列表與數字數組連接起來的最簡單方法是什么

嚕嚕噠 2022-06-28 10:46:39
我不敢相信我一直在試圖找出這個非常基本的問題有多久了,而且我似乎無法在這里通過論壇找到正確的答案,所以我就把它扔掉了,因為我是確保這可以通過簡單的代碼行來解決:我正在嘗試在我的數據框上生成一個新列,其中包含隨機唯一標識符q+ 一些 5 位數字。因此,例如,一個這樣的 ID 將是q12345.到目前為止,我的方法是:(1)生成一個數字數組,(2)一個相同長度的q字符列表,然后(3)嘗試將它們組合成一個數組,我會( 4)添加到我的數據框。我已經很容易地完成了第一步和第二步,但我似乎無法讓第三步工作。我將不勝感激(a)如何執行第 3 步以及(b)更簡單的方法來執行此操作的任何提示,我確信我忽略了這一點。我在 python 3.4中嘗試了 Concatenate string 和 int 中的各種方法,并且可以讓它適用于單個元素,但不適用于整個數組。所以,到目前為止,我有:sample_length = 10 #for examplevalues = np.random.randint(low=10000, high= 15000, size = sample_length)q = ['q'] * sample_length
查看完整描述

3 回答

?
泛舟湖上清波郎朗

TA貢獻1818條經驗 獲得超3個贊

您可以使用列表理解將它們組合成一個數組,如下所示:


sample_length = 10

values = np.random.randint(low=10000, high= 15000, size = sample_length)

# Do this 

column = ['q' + str(i) for i in values ]

如果上面的代碼太多而無法為您解壓,請參閱:


sample_length = 10

values = np.random.randint(low=10000, high= 15000, size = sample_length)

columns = []

for i in values:

     columns.append('q' + str(i))

兩個代碼片段都做同樣的事情。

希望這可以幫助...!


查看完整回答
反對 回復 2022-06-28
?
慕森王

TA貢獻1777條經驗 獲得超3個贊

import random as rand
print("q"+str(rand.randint(10000,100000)))


查看完整回答
反對 回復 2022-06-28
?
拉莫斯之舞

TA貢獻1820條經驗 獲得超10個贊

幾乎一個班輪將是:


sample_length = 10

coloumns = ["q" + "".join(uniqueNumbers) for uniqueNumbers in list(map(lambda generatedNumbers: [str(number) for number in generatedNumbers], [random.randint(0, 9, 5) for _ in range(sample_length)]))]

為了更好的可讀性:


sample_length = 10

coloumns = [

    "q" + "".join(uniqueNumbers) for uniqueNumbers in list(

        map(

            lambda generatedNumbers: [

                str(number) for number in generatedNumbers

            ],

            [

                random.randint(0, 9, 5) for _ in range(sample_length)

            ]

        )

    )

]

在這種情況下,id 可以以 0 開頭。


更好的方法如下,因為我猜每個數字都應該是唯一的:


sample_length = 10

def getNumbers():

    return "".join(list(map(lambda number: str(number), random.randint(0, 9, 5))))

numbers = []

while len(numbers) != sample_length:

    newNumbers = getNumbers()

    if newNumbers not in numbers:

        numbers.append(newNumbers)

coloumns = ["q" + "".join(uniqueNumbers) for uniqueNumbers in numbers]


查看完整回答
反對 回復 2022-06-28
  • 3 回答
  • 0 關注
  • 300 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號