Computer >> บทช่วยสอนคอมพิวเตอร์ >  >> การเขียนโปรแกรม >> Python

เพิ่มศูนย์นำหน้า (leading zeros) ให้กับสตริงโปรแกรม Python

เราอาจต้องต่อศูนย์เป็นสตริงกับองค์ประกอบข้อมูลต่างๆ ใน Python บางครั้ง อาจเป็นเพื่อการจัดรูปแบบและการแสดงผลที่สวยงาม หรืออาจเป็นเพื่อการคำนวณบางอย่างที่ค่าเหล่านี้จะทำหน้าที่เป็นอินพุต ด้านล่างเป็นเมธอดที่เราจะใช้เพื่อวัตถุประสงค์นี้

ใช้ format()

ที่นี่เราใช้ DataFrame และใช้ฟังก์ชัน format กับคอลัมน์ที่เราต้องการต่อศูนย์เป็นสตริง เมธอด lambda ใช้เพื่อนำฟังก์ชันไปใช้ซ้ำๆ

ตัวอย่าง

import pandas as pd
string = {'Column': ['HOPE', 'FOR', 'THE', 'BEST']}
dataframe = pd.DataFrame(string)
print("given column is ")
print(dataframe)
dataframe['Column'] = dataframe['Column'].apply(lambda i: '{0:0>10}'.format(i))
print("\n leading zeros is")
print(dataframe)

ผลลัพธ์

การรันโค้ดข้างต้นจะได้ผลดังนี้ −

given column is
    Column
0  HOPE
1  FOR
2  THE
3  BEST
leading zeros is
      Column
0  000000HOPE
1  0000000FOR
2  0000000THE
3  000000BEST

ใช้ rjust

ฟังก์ชัน right justify ช่วยให้เราทำให้ค่าที่กำหนดอยู่ชิดขวาโดยใช้พารามิเตอร์ที่เราให้กับฟังก์ชัน rjust ในตัวอย่างนี้ เราเพิ่มศูนย์สามตัวให้กับค่าโดยใช้ฟังก์ชัน rjust จำนวนศูนย์ที่จะเพิ่มสามารถทำให้ไดนามิกได้

ตัวอย่าง

val = '98.6 is normal body temperature'
print("The given string is :\n " + str(val))
# จำนวนศูนย์ที่จะเพิ่ม
i = 3
result = val.rjust(i + len(val), '0')
print("adding leading zeros to the string is :\n" + str(result))

ผลลัพธ์

การรันโค้ดข้างต้นจะได้ผลดังนี้ −

The given string is : 98.6 is normal body temperature
adding leading zeros to the string is : 00098.6 is normal body temperature